Quantex GmbH
Twój region: Europa

PassThruLogicalDisconnect v5.0

Zamknięcie logicznego kanału komunikacyjnego

Ostatnia modyfikacja:

Opis

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)

Stan rozłączony kanału

Po rozłączeniu kanał logiczny ma następujący stan:

Parametry

ChannelID

Parametr wejściowy. Identyfikator logicznego kanału komunikacyjnego uzyskany podczas wywołania PassThruLogicalConnect().

Zwracane kody błędów

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.

Przykłady

Przykład w C/C++

#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);
}

Przykład w Python (ctypes)

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()}")

Funkcje powiązane