编程串行设备安装
注意
本主题介绍如何对传统 COM 端口进行编程。 有关 USB 连接的串行端口的信息,请参阅 USB 串行驱动程序 (Usbser.sys)。
本部分包括以下有关串行设备的编程安装的主题:
安装串行设备没有其他特定于串行的要求。
有关安装设备的常规信息,请参阅 设备安装设计指南 部分。
有关串行设备的详细信息,请参阅本主题中的 串行设备和驱动程序。##
本主题包括以下旧版 COM 端口主题。
使用 16550 UART-Compatible 接口的串行设备的编程安装
使用 16550 UART-Compatible 接口的串行设备的编程安装
若要安装使用串行作为较低级别设备筛选器驱动程序的即插即用设备,请执行以下操作:
在设备的 INF 文件中将串行指定为较低级别的设备筛选器驱动程序 -- 请参阅 安装筛选器驱动程序。
将设备的 SerialSkipExternalNaming 条目值设置为非零值 -- 请参阅即插即用串行设备的注册表设置。
Serenum 设备的编程安装
若要安装由 Serenum 枚举的设备,请对设备使用以下 硬件 ID 格式:
Serenum\XxxxYyyy
其中: Xxxx 是四个 ASCII 字符的字段,用于指定 EISA 制造 ID; Yyyy 是一个包含四个 ASCII 字符的字段,用于指定产品 ID。 即插即用外部 COM 设备规范中记录了 Serenum ID
旧版 COM 端口的编程安装
串行函数驱动程序始终将旧版串行端口配置为 COM 端口。
串行通过读取 下的相应 COM 端口子项来检测旧端口是否存在 。\Services\Serial\Parameters 键。 若要安装旧版 COM 端口,必须在此密钥下为设备设置旧版 COM 端口子项。 COM 端口子项包含 旧版 COM 端口的注册表设置。
加载 Serial 时,它会通过检查旧端口的 LegacyDiscovered 条目值来确定以前未检测到的旧端口。 如果此条目值不存在或为零,则 Serial 将执行以下任务:
调用 IoReportDetectedDevice 向即插即用管理器报告设备。
将端口的 LegacyDiscovered 条目值设置为0x00000001,指示已报告该端口。
将 COM 端口子项下的一些条目值复制到 IoReportDetectedDevice 返回的物理设备对象 (PDO) 的即插即用设备密钥。
串行将即插即用设备密钥下的 PortName 条目值设置为旧版 COM 端口子项下的 DosDevices 条目值。 对于 Serial 复制的所有其他条目值,它保留相同的条目值名称。 有关 Serial 复制的条目值的详细信息,请参阅 Microsoft Windows 驱动程序工具包 (WDK) 中提供的串行示例代码。
IoReportDetectedDevice 调用将端口标记为根枚举设备。 在后续系统启动时,即插即用管理器会根据其 INF 文件中的信息自动配置设备。
即插即用管理器为旧版 COM 端口创建以下兼容 ID:DETECTEDInternal\Serial 和 DETECTED\Serial。