Zamknięcie logicznego kanału komunikacyjnego
Ostatnia modyfikacja:
Funkcja kończy połączenie logiczne z pojazdem na wskazanym urządzeniu pass-thru.
Po pomyślnym wykonaniu funkcja zwraca STATUS_NOERROR, a logiczny kanał komunikacyjny przechodzi w stan rozłączony.
long PassThruLogicalDisconnect(unsigned long ChannelID)
Po rozłączeniu kanał logiczny ma następujący stan:
Parametr wejściowy. Identyfikator logicznego kanału komunikacyjnego uzyskany podczas wywołania
PassThruLogicalConnect().
| Kod | Opis |
|---|---|
| STATUS_NOERROR | Funkcja wykonana pomyślnie |
| ERR_CONCURRENT_API_CALL | Funkcja J2534 API została wywołana przed zakończeniem poprzedniego wywołania |
| ERR_DEVICE_NOT_OPEN | PassThruOpen() nie został pomyślnie wywołany |
| ERR_INVALID_CHANNEL_ID | Niedozwolona wartość ChannelID |
| ERR_DEVICE_NOT_CONNECTED | Błąd komunikacji z urządzeniem pass-thru. Urządzenie zostało odłączone. |
| ERR_NOT_SUPPORTED | DLL nie obsługuje tej funkcji |
| ERR_FAILED | Niezdefiniowany błąd. Użyj PassThruGetLastError(), aby uzyskać opis. |
#include "j2534_dll.hpp"
unsigned long logicalChannelID = ...; // ID uzyskany z PassThruLogicalConnect
// Zamykamy kanał logiczny
long ret = PassThruLogicalDisconnect(logicalChannelID);
if (ret == STATUS_NOERROR) {
printf("Kanał logiczny zamknięty\n");
} else {
char error[256];
PassThruGetLastError(error);
printf("Błąd: %s\n", error);
}
from ctypes import *
j2534 = cdll.LoadLibrary("libj2534_v05_00.dylib")
logical_channel_id = c_ulong(...) # ID uzyskany z PassThruLogicalConnect
# Zamykamy kanał logiczny
ret = j2534.PassThruLogicalDisconnect(logical_channel_id)
if ret == 0: # STATUS_NOERROR
print("Kanał logiczny zamknięty")
else:
error = create_string_buffer(256)
j2534.PassThruGetLastError(error)
print(f"Błąd: {error.value.decode()}")
PassThruLogicalConnect() - Utworzenie kanału logicznegoPassThruDisconnect() - Zamknięcie połączenia fizycznegoPassThruClose() - Zamknięcie urządzenia