ComDB的意义

        虚拟串口需要自己分配COM口号,然后创建串口,但创建前需要确定哪些串口端口号还没有使用,避免冲突,注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter”的ComDB子项体现这个。该二进制值每一位代表对应COM口是否被占用,比如29,它的二进制:0100 1001,则从右往左数代表第1,4,7端口被占用。可以使用WDK的接口:ComDBGetCurrentPortUsage()来获取,其数量最小值为256最大值为4096,当要仲裁的串口端口号大于256则需要ComDBResizeDatabase(hComDB, (port+1023) & (~1023));增大ComDB数据库。

        删除该注册表的ComDB项理论上可以清除被占用的COM口,不过怀疑操作系统只是用此注册表来显示占用情况,我试过删除了该项后打开某个应用程序后又恢复成原来的占用情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值