通信物理设备处理程序模型概述
物理设备处理程序 (PDH) 必须提供八个公共入口点。 单个 PDH 通过在受支持的命令类型前面放置唯一标识来命名其入口点。
以下是必需的八个通信 PDH 入口点:
| 项 | 描述 |
|---|---|
| 地址配置 | 执行设备处理程序的配置功能。 受支持的方式与公共 地址配置 入口点相同。 |
| 邓普克斯 | 为多路复用设备处理程序分配或取消分配通道。 支持与公共 邓普克斯 设备处理程序入口点相同的方式。 |
| 德开放 | 执行用于通信 PDH 的数据结构分配和初始化。 受支持的方式与公共 德开放 入口点相同。 耗用大量时间的任务 (例如,端口初始化和连接建立) 将延迟到发出 (CIO_START) ddioctl 调用为止。 一个 PDH 可以支持单个端口的多个用户。 |
| 德德德 | 释放指定通信设备使用的系统资源,直到再次需要这些资源为止。 受支持的方式与公共 德德德 入口点相同。 |
| ddwrite | 对消息进行排队以进行传输或阻塞,直到消息可以排队为止。 ddwrite 入口点可以尝试对传输请求进行排队 (非阻塞) 或等待它排队 (阻塞) ,具体取决于 DNDELAY 标志的设置。 在传输实际完成时,调用者还可以选择请求异步应答。 |
| 德赖德 | 将数据消息返回到用户方式的进程。 支持分块或非分块读取,具体取决于 DNDELAY 标志的设置。 在数据可用之前,阻止读请求不会返回到调用者。 非分块读操作会返回一条数据消息 (如果它立即可用)。 否则,它将返回长度 0 (零)。 |
| ddselect | 检查用户方式进程的设备上是否发生了指定的一个或多个事件。 受支持的方式与公共 ddselect 入口点相同。 |
| 迪奥克特尔 | 执行 ioctl 子例程中请求的特殊 I/O 操作。 受支持的方式与公共 迪奥克特尔 入口点相同。 此外,一个通信 PDH 必须支持以下四个选项:
|
个别 PDHs 可以添加其他命令。 在 CIO_START 操作期间执行硬件初始化和其他耗时的活动 (例如呼叫建立)。