COM 端口的外部命名

默认情况下,串行函数驱动程序为串行端口创建符号链接名称,并为该端口注册GUID_DEVINTERFACE_COMPORT 设备接口 。 根据定义,仅当串行端口具有与之关联的 COM 端口设备接口时,串行端口才为 COM 端口。

对于即插即用串行设备,外部命名由设备硬件键下的 SerialSkipExternalNaming 条目值控制。 如果 SerialSkipExternalNaming 条目值不存在,或者其值为零,则 Serial 将创建 COM 端口设备接口;否则,Serial 不会创建 COM 端口接口。 串行不支持旧版 COM 端口的此条目值,并且始终为旧版 COM 端口创建 COM 端口设备接口。

串行执行以下任务来创建 COM 端口设备接口:

  • \DosDevices\<PortName> 与 COM 端口的内部设备对象名称之间创建符号链接。

    <PortName> 是 COM 端口的 PortName (或 Identifier) 条目值的值。 Ports 类安装程序将 PortName 设置为 COM<n>,其中 <n> 是安装程序从 COM 端口数据库获取的 COM 端口号。 Serial 使用此名称创建指向端口的符号链接。 Windows 支持的 COM 端口数量没有限制。 用户模式客户端使用符号链接名称打开 COM 端口。

  • \Registry\Machine\Hardware\DeviceMap\SERIALCOMM 键下写入一个条目值。

    条目值的名称为 \Device\Serial<m>, 其中 <m> 是 Serial 分配给设备的数字。 请注意,序列号 <m> 与 COM 端口号 <n> 不同。 \Device\Serial<m> 的值设置为 PortName 的值。

  • 为 COM 端口注册 GUID_DEVINTERFACE_COMPORT 类型的设备接口。

    客户端可以注册 COM 端口接口的到达通知,也可以获取所有已注册的 COM 端口接口的符号链接名称。

有关 Serial 如何使用注册表项值的详细信息,请参阅 Serial 的注册表设置