Quantex GmbH
Votre région : Europe

PassThruDisconnect v4.04 v5.0

Suppression de la connexion

Dernière modification :

Description

La fonction coupe la connexion selon le protocole établi précédemment par la commande PassThruConnect. Tous les messages périodiques et filtres associés à ce canal sont supprimés automatiquement.

long PassThruDisconnect(unsigned long ChannelID)
Important : Lors de la fermeture du canal, tous les messages périodiques actifs (PassThruStartPeriodicMsg) et les filtres (PassThruStartMsgFilter) de ce canal seront arrêtés et supprimés automatiquement.

Paramètres

Codes d'erreur renvoyés

Code Description Causes possibles et solutions
STATUS_NOERROR La fonction s'est exécutée correctement
ERR_INVALID_CHANNEL_ID Un identifiant de canal ChannelID inexistant a été indiqué
  • ChannelID n'a pas été obtenu de PassThruConnect
  • Solution : Assurez-vous d'utiliser le ChannelID renvoyé par la fonction PassThruConnect
  • Le canal avait déjà été fermé auparavant
  • Solution : Vérifiez que PassThruDisconnect n'a pas été appelé de nouveau pour ce canal
ERR_DEVICE_NOT_CONNECTED Aucune connexion avec l'adaptateur
  • La connexion avec l'adaptateur a été perdue
  • Solution : Vérifiez la connexion réseau ou la connexion BLE
  • Le périphérique a été fermé via PassThruClose
  • Solution : Appelez PassThruOpen pour rétablir la connexion

Exemples

Exemple en C/C++

#include "j2534_dll.hpp"

// ChannelID obtenu précédemment de PassThruConnect
unsigned long ChannelID;
long ret = PassThruDisconnect(ChannelID);
if (ret != STATUS_NOERROR) {
    char error[256];
    PassThruGetLastError(error);
    // Traitement de l'erreur
}

Exemple en Kotlin (Android)

// channelID obtenu précédemment de ptConnect
val result = j2534.ptDisconnect(channelID)
if (result.status == STATUS_NOERROR) {
    Log.i("J2534", "Canal de communication fermé")
} else {
    Log.e("J2534", "Erreur lors de la fermeture du canal : ${result.status}")
}

Exemple en Python

# channel_id obtenu précédemment de PassThruConnect
ret = j2534.PassThruDisconnect(channel_id)
if ret == 0:  # STATUS_NOERROR
    print("Canal de communication fermé")
else:
    print(f"Erreur lors de la fermeture du canal : {ret}")

Exemple en C#

// channelId obtenu précédemment de PassThruConnect
int ret = J2534.PassThruDisconnect(channelId);
if (ret == 0) {
    Console.WriteLine("Canal de communication fermé");
} else {
    Console.WriteLine($"Erreur lors de la fermeture du canal : {ret}");
}