Quantex GmbH
Twój region: Europa

PassThruDisconnect v4.04 v5.0

Usunięcie połączenia

Ostatnia zmiana:

Opis

Funkcja zamyka połączenie przy użyciu protokołu ustanowionego wcześniej poleceniem PassThruConnect. Wszystkie komunikaty okresowe i filtry powiązane z tym kanałem są automatycznie usuwane.

long PassThruDisconnect(unsigned long ChannelID)
Ważne: Przy zamykaniu kanału wszystkie aktywne komunikaty okresowe (PassThruStartPeriodicMsg) oraz filtry (PassThruStartMsgFilter) dla tego kanału zostaną automatycznie zatrzymane i usunięte.

Parametry

Zwracane kody błędów

Kod Opis Możliwe przyczyny i rozwiązania
STATUS_NOERROR Funkcja wykonana pomyślnie
ERR_INVALID_CHANNEL_ID Podano nieistniejący identyfikator kanału ChannelID
  • ChannelID nie został uzyskany z PassThruConnect
  • Rozwiązanie: Upewnij się, że używasz ChannelID zwróconego przez funkcję PassThruConnect
  • Kanał został już wcześniej zamknięty
  • Rozwiązanie: Sprawdź, czy PassThruDisconnect nie został ponownie wywołany dla tego kanału
ERR_DEVICE_NOT_CONNECTED Brak połączenia z adapterem
  • Łączność z adapterem została utracona
  • Rozwiązanie: Sprawdź połączenie sieciowe lub połączenie BLE
  • Urządzenie zostało zamknięte przez PassThruClose
  • Rozwiązanie: Wywołaj PassThruOpen, aby ponownie nawiązać połączenie

Przykłady

Przykład w C/C++

#include "j2534_dll.hpp"

// ChannelID uzyskany wcześniej z PassThruConnect
unsigned long ChannelID;
long ret = PassThruDisconnect(ChannelID);
if (ret != STATUS_NOERROR) {
    char error[256];
    PassThruGetLastError(error);
    // Obsługa błędu
}

Przykład w Kotlin (Android)

// channelID uzyskany wcześniej z ptConnect
val result = j2534.ptDisconnect(channelID)
if (result.status == STATUS_NOERROR) {
    Log.i("J2534", "Kanał komunikacyjny zamknięty")
} else {
    Log.e("J2534", "Błąd zamykania kanału: ${result.status}")
}

Przykład w Python

# channel_id uzyskany wcześniej z PassThruConnect
ret = j2534.PassThruDisconnect(channel_id)
if ret == 0:  # STATUS_NOERROR
    print("Kanał komunikacyjny zamknięty")
else:
    print(f"Błąd zamykania kanału: {ret}")

Przykład w C#

// channelId uzyskany wcześniej z PassThruConnect
int ret = J2534.PassThruDisconnect(channelId);
if (ret == 0) {
    Console.WriteLine("Kanał komunikacyjny zamknięty");
} else {
    Console.WriteLine($"Błąd zamykania kanału: {ret}");
}