删除消息过滤器
最后修改:
此函数用于删除先前设置的某一个过滤器。
long PassThruStopMsgFilter(unsigned long ChannelID, unsigned long FilterID)
| 代码 | 说明 | 可能的原因与解决方法 |
|---|---|---|
| STATUS_NOERROR | 函数执行成功 | — |
| ERR_DEVICE_NOT_CONNECTED | 未与适配器建立连接 |
|
| ERR_INVALID_DEVICE_ID | 设备标识符无效 |
|
| ERR_INVALID_CHANNEL_ID | 通道标识符无效 |
|
| ERR_INVALID_FILTER_ID | 过滤器标识符无效 |
|
| ERR_FAILED | 未定义错误 |
|
#include "j2534_lib.hpp"
unsigned long ChannelID; // 通道 ID
unsigned long FilterID; // 从 PassThruStartMsgFilter 获取的过滤器 ID
long Ret;
Ret = PassThruStopMsgFilter(ChannelID, FilterID);
if (Ret != STATUS_NOERROR)
{
// 错误处理
}
// channelID 和 filterID 已在先前获取
val result = j2534.ptStopMsgFilter(channelID, filterID)
if (result.status == STATUS_NOERROR) {
// 过滤器删除成功
Log.i("J2534", "过滤器 $filterID 已删除。")
} else {
// 错误处理
Log.e("J2534", "删除过滤器出错:${result.status}")
}
from ctypes import *
# channelID 和 filterID 已在先前获取
ret = j2534.PassThruStopMsgFilter(channel_id, filter_id)
if ret == 0: # STATUS_NOERROR
print(f"过滤器 {filter_id} 已删除")
else:
error = create_string_buffer(256)
j2534.PassThruGetLastError(error)
print(f"出错:{error.value.decode()}")
// channelID 和 filterID 已在先前获取
int ret = J2534.PassThruStopMsgFilter(channelId, filterId);
if (ret == 0) // STATUS_NOERROR
{
Console.WriteLine($"过滤器 {filterId} 已删除");
}
else
{
var error = new StringBuilder(256);
J2534.PassThruGetLastError(error);
Console.WriteLine($"出错:{error}");
}