断开连接
最后修改:
该函数断开先前由 PassThruConnect 命令建立的协议连接。与该通道关联的所有周期性消息和过滤器都会被自动删除。
long PassThruDisconnect(unsigned long ChannelID)
PassThruStartPeriodicMsg)和过滤器(PassThruStartMsgFilter)都将被自动
停止并删除。
PassThruConnect 命令返回。| 代码 | 说明 | 可能原因及解决方法 |
|---|---|---|
| STATUS_NOERROR | 函数执行成功 | — |
| ERR_INVALID_CHANNEL_ID | 指定的通道标识符 ChannelID 不存在 |
|
| ERR_DEVICE_NOT_CONNECTED | 未与适配器建立连接 |
|
#include "j2534_dll.hpp"
// ChannelID 此前由 PassThruConnect 获取
unsigned long ChannelID;
long ret = PassThruDisconnect(ChannelID);
if (ret != STATUS_NOERROR) {
char error[256];
PassThruGetLastError(error);
// 错误处理
}
// channelID 此前由 ptConnect 获取
val result = j2534.ptDisconnect(channelID)
if (result.status == STATUS_NOERROR) {
Log.i("J2534", "通信通道已关闭")
} else {
Log.e("J2534", "关闭通道出错: ${result.status}")
}
# channel_id 此前由 PassThruConnect 获取
ret = j2534.PassThruDisconnect(channel_id)
if ret == 0: # STATUS_NOERROR
print("通信通道已关闭")
else:
print(f"关闭通道出错: {ret}")
// channelId 此前由 PassThruConnect 获取
int ret = J2534.PassThruDisconnect(channelId);
if (ret == 0) {
Console.WriteLine("通信通道已关闭");
} else {
Console.WriteLine($"关闭通道出错: {ret}");
}