创建和启动并行端口

即插即用管理器对并行端口使用系统提供的函数驱动程序的即插即用支持, (表示并行端口的 FDO) 创建和启动函数设备对象。

并行端口函数驱动程序执行以下操作:

  • 创建名为 FDO 的

    并行端口的设备名称格式为“\Device\ParallelPortx”,其中 x 是端口号的整数值。 并行端口函数驱动程序使用并行端口即插即用注册表项下的 PortName 条目值 (REG_SZ) 来确定端口号。 请注意,如果 PortName 的格式为“LPTn”,其中 n 是端口的编号,则“ParallePortx”中的 x 设置为 (n -1) 的值。 例如,“ParallelPort0”与“LPT1”相关联。 如果 PortName 的格式不正确,则不会创建设备对象。

    请注意,不能保证“ParallelPortx”设备名称。 Microsoft 建议使用 IoRegisterPlugPlayNotification 来接收GUID_PARALLEL_DEVICE设备接口到达的通知。

  • 为并行端口注册并启用GUID_PARALLEL_DEVICE接口

  • 验证即插即用管理器发送的资源

  • 初始化附加到并行端口的 1284.3 设备

    并行端口函数驱动程序对菊花链设备的数量进行计数,并将菊花链 ID 分配给每个设备。 在 Microsoft Windows 2000 中,驱动程序将 ID 从 0 分配到 3。 在 Windows XP 中,驱动程序分配 ID 为 0 或 1。 设备 ID 按升序分配给设备,从物理上离并行端口最近的设备开始。

  • 向 WDM 提供程序注册 FDO 和关联的 WMI 数据块和回调

    并行端口函数驱动程序记录分配和释放并行端口的次数。

  • 确定并行端口硬件支持的通信模式

    硬件必须至少与 IEEE 1284 兼容。 并行端口函数驱动程序检查以确定硬件是否支持 BYTE、EPP 和 ECP 模式。 请注意,EPP 仅在一小部分计算机上受支持。

  • 为并行端口创建工作队列 (FIFO)

    每个并行端口都有自己的工作队列。 并行端口函数驱动程序队列仅分配和选择设备请求。 如果在并行端口函数驱动程序收到新的分配请求或选择请求时已分配端口,则会将请求排队。