Fermeture du canal de communication logique
Dernière modification :
La fonction met fin à la connexion logique avec le véhicule sur le dispositif pass-thru indiqué.
En cas de réussite, la fonction renvoie STATUS_NOERROR et le canal de communication logique passe à l'état déconnecté.
long PassThruLogicalDisconnect(unsigned long ChannelID)
Après la déconnexion, le canal logique présente l'état suivant :
Paramètre d'entrée. Identifiant du canal de communication logique obtenu lors de l'appel à
PassThruLogicalConnect().
| Code | Description |
|---|---|
| STATUS_NOERROR | La fonction s'est exécutée correctement |
| ERR_CONCURRENT_API_CALL | Une fonction de l'API J2534 a été appelée avant la fin de l'appel précédent |
| ERR_DEVICE_NOT_OPEN | PassThruOpen() n'a pas été appelée correctement |
| ERR_INVALID_CHANNEL_ID | Valeur de ChannelID non valide |
| ERR_DEVICE_NOT_CONNECTED | Erreur de communication avec le dispositif pass-thru. Le dispositif a été déconnecté. |
| ERR_NOT_SUPPORTED | La DLL ne prend pas en charge cette fonction |
| ERR_FAILED | Erreur non définie. Utilisez PassThruGetLastError() pour obtenir la description. |
#include "j2534_dll.hpp"
unsigned long logicalChannelID = ...; // ID obtenu de PassThruLogicalConnect
// Fermeture du canal logique
long ret = PassThruLogicalDisconnect(logicalChannelID);
if (ret == STATUS_NOERROR) {
printf("Canal logique fermé\n");
} else {
char error[256];
PassThruGetLastError(error);
printf("Erreur : %s\n", error);
}
from ctypes import *
j2534 = cdll.LoadLibrary("libj2534_v05_00.dylib")
logical_channel_id = c_ulong(...) # ID obtenu de PassThruLogicalConnect
# Fermeture du canal logique
ret = j2534.PassThruLogicalDisconnect(logical_channel_id)
if ret == 0: # STATUS_NOERROR
print("Canal logique fermé")
else:
error = create_string_buffer(256)
j2534.PassThruGetLastError(error)
print(f"Erreur : {error.value.decode()}")
PassThruLogicalConnect() - Création du canal logiquePassThruDisconnect() - Fermeture de la connexion physiquePassThruClose() - Fermeture du dispositif