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

PassThruOpen Установить связь с адаптером

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

Описание

Функция устанавливает связь с адаптером. Не с автомобилем. Одна Dll может работать одновременно с несколькими адаптерами. Адаптеры должны отличаться разными IP адресами.

long PassThruOpen(void* pName, unsigned long* pDeviceID)

Параметры

Возвращаемые коды ошибок

Определение Описание
STATUS_NOERROR Функция выполнена успешно
ERR_DEVICE_NOT_CONNECTED Нет соединения с адаптером. Возможные причины: Адаптер выключен, нет сети, или не правильно задан IP адрес.
ERR_DEVICE_IN_USE Прибор уже используется программой. Возможные причины: Не была выполнена функция PassThruClose в предыдущей сессии.
ERR_NULL_PARAMETER Не задан указатель pDeviceID
ERR_FAILED Внутренняя ошибка в dll или в микропрограммы адаптре. Такие как ошибка выделения памяти или сбой стека. Для получения поробностей нужно использовать функциюPassThruGetLastError()

Примеры

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

#include "j2534_lib.hpp"
unsigned long DeviceID;
long Ret;

Ret = PassThruOpen("192.168.1.3", &DeviceID);
if (Ret != STATUS_NOERROR)
{
    // Обработка ошибки
}

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

В данном примере используется JNI-обертка J2534JNI для вызова нативных функций J2534 из Kotlin.

// J2534JNI - это класс-обертка для JNI
val j2534 = J2534JNI(context) 

// Строка подключения может быть IP-адресом или именем устройства
val connectionString = "192.168.1.3"
val deviceResult = j2534.ptOpen(connectionString) 

if (deviceResult.status == STATUS_NOERROR) {
    val deviceID = deviceResult.devId
    // Соединение с адаптером успешно установлено.
    // deviceID используется в последующих вызовах.
    Log.i("J2534", "Адаптер открыт, DeviceID: $deviceID")
} else {
    // Обработка ошибки
    Log.e("J2534", "Ошибка открытия адаптера: ${deviceResult.status}")
}