Quantex GmbH
Su región: Europa

PassThruDisconnect v4.04 v5.0

Eliminación de la conexión

Última modificación:

Descripción

La función cierra la conexión mediante el protocolo establecido previamente con el comando PassThruConnect. Todos los mensajes periódicos y filtros asociados a este canal se eliminan automáticamente.

long PassThruDisconnect(unsigned long ChannelID)
Importante: Al cerrar el canal, todos los mensajes periódicos activos (PassThruStartPeriodicMsg) y los filtros (PassThruStartMsgFilter) de este canal se detendrán y eliminarán automáticamente.

Parámetros

Códigos de error devueltos

Código Descripción Posibles causas y soluciones
STATUS_NOERROR La función se ejecutó correctamente
ERR_INVALID_CHANNEL_ID Se indicó un identificador de canal ChannelID inexistente
  • ChannelID no se obtuvo de PassThruConnect
  • Solución: Asegúrese de utilizar el ChannelID devuelto por la función PassThruConnect
  • El canal ya se había cerrado anteriormente
  • Solución: Compruebe que PassThruDisconnect no se haya vuelto a llamar para este canal
ERR_DEVICE_NOT_CONNECTED No hay conexión con el adaptador
  • Se perdió la conexión con el adaptador
  • Solución: Compruebe la conexión de red o la conexión BLE
  • El dispositivo se cerró mediante PassThruClose
  • Solución: Llame a PassThruOpen para volver a establecer la conexión

Ejemplos

Ejemplo en C/C++

#include "j2534_dll.hpp"

// ChannelID obtenido anteriormente de PassThruConnect
unsigned long ChannelID;
long ret = PassThruDisconnect(ChannelID);
if (ret != STATUS_NOERROR) {
    char error[256];
    PassThruGetLastError(error);
    // Tratamiento del error
}

Ejemplo en Kotlin (Android)

// channelID obtenido anteriormente de ptConnect
val result = j2534.ptDisconnect(channelID)
if (result.status == STATUS_NOERROR) {
    Log.i("J2534", "Canal de comunicación cerrado")
} else {
    Log.e("J2534", "Error al cerrar el canal: ${result.status}")
}

Ejemplo en Python

# channel_id obtenido anteriormente de PassThruConnect
ret = j2534.PassThruDisconnect(channel_id)
if ret == 0:  # STATUS_NOERROR
    print("Canal de comunicación cerrado")
else:
    print(f"Error al cerrar el canal: {ret}")

Ejemplo en C#

// channelId obtenido anteriormente de PassThruConnect
int ret = J2534.PassThruDisconnect(channelId);
if (ret == 0) {
    Console.WriteLine("Canal de comunicación cerrado");
} else {
    Console.WriteLine($"Error al cerrar el canal: {ret}");
}