Zwraca informacje o możliwościach urządzenia: obsługiwane protokoły, liczbę jednoczesnych kanałów, numer seryjny i inne właściwości. Wywoływana z DeviceID uzyskanym od PassThruOpen.
IoctlID
0x800C
pInput
SCONFIG_LIST* — lista żądanych parametrów
pOutput
NULL (wynik zapisywany jest w pInput)
W odróżnieniu od GET_CONFIG, funkcja GET_DEVICE_INFO wywoływana jest z DeviceID, a nie z ChannelID.
GET_PROTOCOL_INFO — Informacje o protokole
Zwraca informacje o możliwościach konkretnego protokołu: maksymalne rozmiary buforów, liczbę filtrów, obsługiwane parametry. Wywoływana z ChannelID uzyskanym od PassThruConnect.
IoctlID
0x800D
pInput
SCONFIG_LIST* — lista żądanych parametrów
pOutput
NULL (wynik zapisywany jest w pInput)
Struktury danych
typedef struct {
unsigned long Parameter; // Identyfikator parametru
unsigned long Value; // Zwracana wartość
} SCONFIG;
typedef struct {
unsigned long NumOfParams; // Liczba parametrów na liście
SCONFIG *ConfigPtr; // Wskaźnik na tablicę SCONFIG
} SCONFIG_LIST;
Zwracane kody błędów
Kod
Opis
Możliwe przyczyny i rozwiązania
STATUS_NOERROR
Funkcja wykonana pomyślnie
—
ERR_DEVICE_NOT_CONNECTED
Brak połączenia z adapterem
Adapter wyłączony lub poza zasięgiem
Rozwiązanie: sprawdź zasilanie i połączenie
ERR_INVALID_DEVICE_ID
Nieprawidłowy identyfikator urządzenia
DeviceID nie został uzyskany przez PassThruOpen
Rozwiązanie: wykonaj PassThruOpen
ERR_INVALID_CHANNEL_ID
Nieprawidłowy identyfikator kanału
ChannelID nie został uzyskany przez PassThruConnect (dla GET_PROTOCOL_INFO)
Rozwiązanie: wykonaj PassThruConnect
ERR_NULL_PARAMETER
Przekazano NULL zamiast wskaźnika
pInput jest równy NULL
Rozwiązanie: przekaż wskaźnik na SCONFIG_LIST
ERR_NOT_SUPPORTED
Parametr nieobsługiwany
Żądany parametr jest niedostępny
Rozwiązanie: sprawdź listę obsługiwanych parametrów
ERR_FAILED
Nieokreślony błąd
Błąd wewnętrzny
Rozwiązanie: wywołaj PassThruGetLastError()
Parametry GET_DEVICE_INFO
Identyfikacja urządzenia
Parametr
Wartość
Opis
SERIAL_NUMBER
0x01
Numer seryjny urządzenia (ciąg znaków)
PART_NUMBER
0x49
Numer katalogowy urządzenia
Obsługa protokołów
Zwracają SUPPORTED (1) lub NOT_SUPPORTED (0).
Parametr
Wartość
Protokół
J1850PWM_SUPPORTED
0x02
J1850 PWM (Ford)
J1850VPW_SUPPORTED
0x03
J1850 VPW (GM)
ISO9141_SUPPORTED
0x04
ISO 9141-2
ISO14230_SUPPORTED
0x05
ISO 14230 (KWP2000)
CAN_SUPPORTED
0x06
CAN (raw)
ISO15765_SUPPORTED
0x07
ISO 15765 (CAN UDS)
SCI_A_ENGINE_SUPPORTED
0x08
SCI-A Engine (Chrysler)
SCI_A_TRANS_SUPPORTED
0x09
SCI-A Transmission (Chrysler)
SCI_B_ENGINE_SUPPORTED
0x0A
SCI-B Engine (Chrysler)
SCI_B_TRANS_SUPPORTED
0x0B
SCI-B Transmission (Chrysler)
SW_ISO15765_SUPPORTED
0x0C
Single-Wire ISO 15765
SW_CAN_SUPPORTED
0x0D
Single-Wire CAN (GM)
GM_UART_SUPPORTED
0x0E
GM UART
UART_ECHO_BYTE_SUPPORTED
0x0F
UART Echo Byte
HONDA_DIAGH_SUPPORTED
0x10
Honda DIAG-H
J1939_SUPPORTED
0x11
J1939 (pojazdy ciężarowe)
J1708_SUPPORTED
0x12
J1708 (pojazdy ciężarowe)
TP2_0_SUPPORTED
0x13
TP 2.0 (VAG)
J2610_SUPPORTED
0x14
J2610 (Chrysler DRB-III)
ANALOG_IN_SUPPORTED
0x15
Wejścia analogowe
FT_CAN_SUPPORTED
0x31
Fault-Tolerant CAN
FT_ISO15765_SUPPORTED
0x32
FT ISO 15765
FD_CAN_SUPPORTED
0x4C
CAN FD
FD_ISO15765_SUPPORTED
0x4D
ISO 15765 przez CAN FD
ETHERNET_NDIS_SUPPORTED
0x54
Ethernet NDIS (DoIP)
Jednoczesne kanały
Liczba kanałów, które mogą być otwarte jednocześnie dla każdego protokołu.
Parametr
Wartość
Protokół
J1850PWM_SIMULTANEOUS
0x35
J1850 PWM
J1850VPW_SIMULTANEOUS
0x36
J1850 VPW
ISO9141_SIMULTANEOUS
0x37
ISO 9141
ISO14230_SIMULTANEOUS
0x38
ISO 14230
CAN_SIMULTANEOUS
0x39
CAN
ISO15765_SIMULTANEOUS
0x3A
ISO 15765
SW_CAN_SIMULTANEOUS
0x40
SW-CAN
J1939_SIMULTANEOUS
0x44
J1939
TP2_0_SIMULTANEOUS
0x46
TP 2.0
FD_CAN_SIMULTANEOUS
0x4E
CAN FD
FD_ISO15765_SIMULTANEOUS
0x4F
ISO 15765 FD
Przypisanie styków J1962
Zwracają maskę styków OBD-II używanych dla protokołu.