Fin de la communication avec l'adaptateur
Dernière modification :
La fonction met fin à la communication avec l'adaptateur et libère toutes les ressources associées. Lors de son appel, tous les canaux ouverts (protocoles) sont automatiquement fermés, il n'est donc pas nécessaire d'appeler PassThruDisconnect() pour chaque canal séparément.
long PassThruClose(unsigned long DeviceID)
PassThruClose() avant de terminer le programme. Sinon, lors du prochain appel à PassThruOpen(), l'erreur ERR_DEVICE_IN_USE sera renvoyée.
PassThruOpen().| Code | Description | Causes possibles et solutions |
|---|---|---|
| STATUS_NOERROR | La fonction s'est exécutée correctement | - |
| ERR_INVALID_DEVICE_ID | Identifiant de périphérique non valide |
|
| ERR_DEVICE_NOT_CONNECTED | La connexion avec l'adaptateur a été perdue |
|
| ERR_FAILED | Erreur interne |
|
#include "j2534_dll.hpp"
unsigned long DeviceID; // ID obtenu de PassThruOpen
// ... travail avec le périphérique ...
// Nous fermons la connexion
long ret = PassThruClose(DeviceID);
if (ret != STATUS_NOERROR)
{
char error[256];
PassThruGetLastError(error);
printf("Erreur de fermeture : %s\n", error);
}
// deviceID obtenu précédemment de ptOpen
val result = j2534.ptClose(deviceID)
if (result.status == STATUS_NOERROR) {
Log.i("J2534", "Connexion avec l'adaptateur fermée")
} else {
Log.e("J2534", "Erreur de fermeture : ${result.status}")
}
from ctypes import *
# device_id obtenu précédemment de PassThruOpen
ret = j2534.PassThruClose(device_id)
if ret == 0: # STATUS_NOERROR
print("Connexion fermée")
else:
error = create_string_buffer(256)
j2534.PassThruGetLastError(error)
print(f"Erreur : {error.value.decode()}")
// deviceId obtenu précédemment de PassThruOpen
int ret = J2534.PassThruClose(deviceId);
if (ret == 0) // STATUS_NOERROR
{
Console.WriteLine("Connexion fermée");
}
else
{
var error = new System.Text.StringBuilder(256);
J2534.PassThruGetLastError(error);
Console.WriteLine($"Erreur : {error}");
}