Удаление периодического сообщения
Последнее изменение:
Останавливает передачу периодического сообщения и освобождает связанные с ним ресурсы. После вызова идентификатор MsgID становится недействительным.
long PassThruStopPeriodicMsg(unsigned long ChannelID, unsigned long MsgID)
PassThruStartPeriodicMsg.| Код | Описание | Возможные причины и решения |
|---|---|---|
| STATUS_NOERROR | Функция выполнена успешно | — |
| ERR_INVALID_CHANNEL_ID | Недействительный идентификатор канала |
|
| ERR_DEVICE_NOT_CONNECTED | Нет соединения с адаптером |
|
| ERR_INVALID_DEVICE_ID | Недействительный идентификатор устройства |
|
| ERR_INVALID_MSG_ID | Недействительный идентификатор сообщения |
|
| ERR_FAILED | Внутренняя ошибка |
|
#include "j2534_lib.hpp"
unsigned long ChannelID; // ID канала
unsigned long MsgID; // ID сообщения, полученный от PassThruStartPeriodicMsg
long Ret;
Ret = PassThruStopPeriodicMsg(ChannelID, MsgID);
if (Ret != STATUS_NOERROR)
{
// Обработка ошибки
}
// channelID и msgID получены ранее
val result = j2534.ptStopPeriodicMsg(channelID, msgID)
if (result.status == STATUS_NOERROR) {
// Периодическое сообщение успешно остановлено
Log.i("J2534", "Остановлено периодическое сообщение, MsgID: $msgID")
} else {
// Обработка ошибки
Log.e("J2534", "Ошибка остановки периодического сообщения: ${result.status}")
}
import ctypes
# Загрузка библиотеки
j2534 = ctypes.CDLL("libj2534_v04_04.so") # Linux
# j2534 = ctypes.WinDLL("j2534sd_v04_04_x64.dll") # Windows
# channel_id и msg_id получены ранее
ret = j2534.PassThruStopPeriodicMsg(channel_id, msg_id)
if ret == 0: # STATUS_NOERROR
print(f"Периодическое сообщение остановлено, MsgID: {msg_id}")
using System;
using System.Runtime.InteropServices;
// channelId и msgId получены ранее
int ret = J2534.PassThruStopPeriodicMsg(channelId, msgId);
if (ret == 0) // STATUS_NOERROR
{
Console.WriteLine($"Периодическое сообщение остановлено, MsgID: {msgId}");
}