Quantex GmbH
DE RU EN EL
Ваш регион: Европа

PassThruDisconnect v4.04 v5.0

Удаление соединения

Последнее изменение:

Описание

Функция разрывает соединение по протоколу, установленному ранее командой PassThruConnect. Все периодические сообщения и фильтры, связанные с этим каналом, автоматически удаляются.

long PassThruDisconnect(unsigned long ChannelID)
Важно: При закрытии канала все активные периодические сообщения (PassThruStartPeriodicMsg) и фильтры (PassThruStartMsgFilter) для этого канала будут автоматически остановлены и удалены.

Параметры

Возвращаемые коды ошибок
Код Описание Возможные причины и решения
STATUS_NOERROR Функция выполнена успешно
ERR_INVALID_CHANNEL_ID Задан несуществующий идентификатор канала ChannelID
  • ChannelID не был получен от PassThruConnect
  • Решение: Убедитесь, что используете ChannelID, возвращённый функцией PassThruConnect
  • Канал уже был закрыт ранее
  • Решение: Проверьте, что PassThruDisconnect не вызывался повторно для этого канала
ERR_DEVICE_NOT_CONNECTED Нет соединения с адаптером
  • Связь с адаптером была потеряна
  • Решение: Проверьте сетевое подключение или BLE-соединение
  • Устройство было закрыто через PassThruClose
  • Решение: Вызовите PassThruOpen для повторного подключения

Примеры

Пример на C/C++

#include "j2534_dll.hpp"

// ChannelID получен ранее от PassThruConnect
unsigned long ChannelID;
long ret = PassThruDisconnect(ChannelID);
if (ret != STATUS_NOERROR) {
    char error[256];
    PassThruGetLastError(error);
    // Обработка ошибки
}

Пример на Kotlin (Android)

// channelID получен ранее от ptConnect
val result = j2534.ptDisconnect(channelID)
if (result.status == STATUS_NOERROR) {
    Log.i("J2534", "Канал связи закрыт")
} else {
    Log.e("J2534", "Ошибка закрытия канала: ${result.status}")
}

Пример на Python

# channel_id получен ранее от PassThruConnect
ret = j2534.PassThruDisconnect(channel_id)
if ret == 0:  # STATUS_NOERROR
    print("Канал связи закрыт")
else:
    print(f"Ошибка закрытия канала: {ret}")

Пример на C#

// channelId получен ранее от PassThruConnect
int ret = J2534.PassThruDisconnect(channelId);
if (ret == 0) {
    Console.WriteLine("Канал связи закрыт");
} else {
    Console.WriteLine($"Ошибка закрытия канала: {ret}");
}