如何确定Windows系统的最大COM端口号?

Joa*_*nis 6 optimization windows-nt serial-port

我有一个系统,它有一些设备,通过虚拟COM端口进行通信.随着时间的推移,COM端口号会改变.我制作了一些代码来搜索这些设备的新COM端口号并记住它们.这很好用.

我的问题是定义COM端口号搜索范围.我在Microsoft KB中发现,Windows NT操作系统通常(默认情况下)限制为256个COM端口.他们还指出这是可配置的,并且没有什么能阻止系统具有非常不同的最大COM端口号.

我想知道是否有办法以编程方式知道COM端口号范围.显然,如果我让系统只搜索2⁸范围,那么比搜索2⁶⁶范围需要的时间要短得多!但是如果运行我的应用程序的系统被设置为支持超过2个COM端口号,那么在某些时候应用程序肯定会一次又一次地失败,直到COM端口号分配循环回到COM0(或者它是COM1?).如果它不需要太多巫术,我想避免这种情况.

我主要使用Java,但欢迎任何想法.