Entfernen einer periodischen Nachricht
Letzte Änderung:
Beendet das Senden einer periodischen Nachricht und gibt die damit verbundenen Ressourcen frei. Nach dem Aufruf wird die Kennung MsgID ungültig.
long PassThruStopPeriodicMsg(unsigned long ChannelID, unsigned long MsgID)
PassThruStartPeriodicMsg zurückgegeben wurde.| Code | Beschreibung | Mögliche Ursachen und Lösungen |
|---|---|---|
| STATUS_NOERROR | Funktion erfolgreich ausgeführt | — |
| ERR_INVALID_CHANNEL_ID | Ungültige Kanalkennung |
|
| ERR_DEVICE_NOT_CONNECTED | Keine Verbindung zum Adapter |
|
| ERR_INVALID_DEVICE_ID | Ungültige Gerätekennung |
|
| ERR_INVALID_MSG_ID | Ungültige Nachrichtenkennung |
|
| ERR_FAILED | Interner Fehler |
|
#include "j2534_lib.hpp"
unsigned long ChannelID; // ID des Kanals
unsigned long MsgID; // ID der Nachricht, von PassThruStartPeriodicMsg zurückgegeben
long Ret;
Ret = PassThruStopPeriodicMsg(ChannelID, MsgID);
if (Ret != STATUS_NOERROR)
{
// Fehlerbehandlung
}
// channelID und msgID wurden zuvor bezogen
val result = j2534.ptStopPeriodicMsg(channelID, msgID)
if (result.status == STATUS_NOERROR) {
// Periodische Nachricht erfolgreich beendet
Log.i("J2534", "Periodische Nachricht beendet, MsgID: $msgID")
} else {
// Fehlerbehandlung
Log.e("J2534", "Fehler beim Beenden der periodischen Nachricht: ${result.status}")
}
import ctypes
# Laden der Bibliothek
j2534 = ctypes.CDLL("libj2534_v04_04.so") # Linux
# j2534 = ctypes.WinDLL("j2534sd_v04_04_x64.dll") # Windows
# channel_id und msg_id wurden zuvor bezogen
ret = j2534.PassThruStopPeriodicMsg(channel_id, msg_id)
if ret == 0: # STATUS_NOERROR
print(f"Periodische Nachricht beendet, MsgID: {msg_id}")
using System;
using System.Runtime.InteropServices;
// channelId und msgId wurden zuvor bezogen
int ret = J2534.PassThruStopPeriodicMsg(channelId, msgId);
if (ret == 0) // STATUS_NOERROR
{
Console.WriteLine($"Periodische Nachricht beendet, MsgID: {msgId}");
}