Quantex GmbH
Ihre Region: Europa

PassThruDisconnect v4.04 v5.0

Trennen der Verbindung

Letzte Änderung:

Beschreibung

Die Funktion trennt die Verbindung über das Protokoll, das zuvor mit dem Befehl PassThruConnect aufgebaut wurde. Alle mit diesem Kanal verbundenen periodischen Nachrichten und Filter werden automatisch entfernt.

long PassThruDisconnect(unsigned long ChannelID)
Wichtig: Beim Schließen des Kanals werden alle aktiven periodischen Nachrichten (PassThruStartPeriodicMsg) und Filter (PassThruStartMsgFilter) für diesen Kanal automatisch gestoppt und entfernt.

Parameter

Rückgabe-Fehlercodes

Code Beschreibung Mögliche Ursachen und Lösungen
STATUS_NOERROR Funktion erfolgreich ausgeführt
ERR_INVALID_CHANNEL_ID Es wurde eine nicht existierende Kanalkennung ChannelID angegeben
  • ChannelID stammt nicht von PassThruConnect
  • Lösung: Stellen Sie sicher, dass Sie die von der Funktion PassThruConnect zurückgegebene ChannelID verwenden
  • Der Kanal wurde bereits zuvor geschlossen
  • Lösung: Prüfen Sie, dass PassThruDisconnect für diesen Kanal nicht erneut aufgerufen wurde
ERR_DEVICE_NOT_CONNECTED Keine Verbindung zum Adapter
  • Die Verbindung zum Adapter wurde unterbrochen
  • Lösung: Prüfen Sie die Netzwerkverbindung oder die BLE-Verbindung
  • Das Gerät wurde über PassThruClose geschlossen
  • Lösung: Rufen Sie PassThruOpen auf, um die Verbindung erneut herzustellen

Beispiele

Beispiel in C/C++

#include "j2534_dll.hpp"

// ChannelID wurde zuvor von PassThruConnect erhalten
unsigned long ChannelID;
long ret = PassThruDisconnect(ChannelID);
if (ret != STATUS_NOERROR) {
    char error[256];
    PassThruGetLastError(error);
    // Fehlerbehandlung
}

Beispiel in Kotlin (Android)

// channelID wurde zuvor von ptConnect erhalten
val result = j2534.ptDisconnect(channelID)
if (result.status == STATUS_NOERROR) {
    Log.i("J2534", "Kommunikationskanal geschlossen")
} else {
    Log.e("J2534", "Fehler beim Schließen des Kanals: ${result.status}")
}

Beispiel in Python

# channel_id wurde zuvor von PassThruConnect erhalten
ret = j2534.PassThruDisconnect(channel_id)
if ret == 0:  # STATUS_NOERROR
    print("Kommunikationskanal geschlossen")
else:
    print(f"Fehler beim Schließen des Kanals: {ret}")

Beispiel in C#

// channelId wurde zuvor von PassThruConnect erhalten
int ret = J2534.PassThruDisconnect(channelId);
if (ret == 0) {
    Console.WriteLine("Kommunikationskanal geschlossen");
} else {
    Console.WriteLine($"Fehler beim Schließen des Kanals: {ret}");
}