并行端口
并行端口技术概述。
若要开发并行端口,需要以下标头:
有关编程指南,请参阅 并行端口。
I/O 控制代码
标题 | 说明 |
---|---|
IOCTL_IEEE1284_GET_MODE IOCTL | IOCTL_IEEE1284_GET_MODE请求返回当前为并行设备设置的 IEEE 1284 读写协议。 |
IOCTL_IEEE1284_NEGOTIATE IOCTL | IOCTL_IEEE1284_NEGOTIATE请求设置用于并行设备的读取和写入协议。 |
IOCTL_INTERNAL_DESELECT_DEVICE IOCTL | IOCTL_INTERNAL_DESELECT_DEVICE请求取消选择连接到并行端口的 IEEE 1284.3 菊花链设备或 IEEE 1284 链尾设备。 |
IOCTL_INTERNAL_DISCONNECT_IDLE IOCTL | IOCTL_INTERNAL_DISCONNECT_IDLE请求断开为并行设备设置的 IEEE 1284 操作模式的连接。 |
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO IOCTL | IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO请求返回有关并行端口的信息。 |
IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO IOCTL | IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO请求返回有关并行端口的即插即用信息。 |
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO IOCTL | IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO请求返回有关并行端口的信息。 |
IOCTL_INTERNAL_INIT_1284_3_BUS IOCTL | IOCTL_INTERNAL_INIT_1284_3_BUS请求初始化 IEEE 1284.3 设备 ID 并将其分配给连接到并行端口的所有 1284.3 菊花链设备。 |
IOCTL_INTERNAL_LOCK_PORT IOCTL | IOCTL_INTERNAL_LOCK_PORT请求分配并行设备的父并行端口,并选择端口上的并行设备。 |
IOCTL_INTERNAL_LOCK_PORT_NO_SELECT IOCTL | IOCTL_INTERNAL_LOCK_PORT_NO_SELECT请求分配并行设备的父并行端口,但不选择并行设备。 |
IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE IOCTL | IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE请求清除并行端口的操作模式。 |
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL | IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT请求将可选的中断服务例程和可选的延迟端口检查例程连接到并行端口。 |
IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT IOCTL | IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT请求断开中断服务例程 (以及通过使用IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT请求连接的可选延迟端口检查服务例程) 。 |
IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE IOCTL | IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE请求分配一个并行端口供客户端进行独占访问。 |
IOCTL_INTERNAL_PARALLEL_PORT_FREE IOCTL | IOCTL_INTERNAL_PARALLEL_PORT_FREE请求释放并行端口。 |
IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE IOCTL | IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE请求设置并行端口的操作模式。 |
IOCTL_INTERNAL_PARCLASS_CONNECT IOCTL | IOCTL_INTERNAL_PARCLASS_CONNECT请求返回有关并行端口的信息,以及系统提供的并行端口总线驱动程序提供的用于运行并行端口的回调例程。 |
IOCTL_INTERNAL_PARCLASS_DISCONNECT IOCTL | IOCTL_INTERNAL_PARCLASS_DISCONNECT请求断开客户端与并行设备的连接。 |
IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO IOCTL | IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO请求返回STATUS_SUCCESS。 |
IOCTL_INTERNAL_SELECT_DEVICE IOCTL | IOCTL_INTERNAL_SELECT_DEVICE请求 |
IOCTL_INTERNAL_UNLOCK_PORT IOCTL | IOCTL_INTERNAL_UNLOCK_PORT请求取消选择并行设备,并释放并行设备的父并行端口。 |
IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT IOCTL | IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT请求释放并行设备的父并行端口。 |
IOCTL_PAR_GET_DEFAULT_MODES IOCTL | IOCTL_PAR_GET_DEFAULT_MODES请求返回系统提供的用于并行端口的总线驱动程序使用的默认写入 (向前) 和读取 (反向) IEEE 1284 协议。 |
IOCTL_PAR_GET_DEVICE_CAPS IOCTL | IOCTL_PAR_GET_DEVICE_CAPS请求执行以下操作 |
IOCTL_PAR_IS_PORT_FREE IOCTL | IOCTL_PAR_IS_PORT_FREE请求确定在系统提供的并行端口总线驱动程序处理请求时,并行设备的父并行端口是否可用。 |
IOCTL_PAR_QUERY_DEVICE_ID IOCTL | IOCTL_PAR_QUERY_DEVICE_ID请求返回由系统提供的函数驱动程序为并行端口分配的并行设备的 IEEE 1284 设备 ID。 |
IOCTL_PAR_QUERY_DEVICE_ID_SIZE IOCTL | IOCTL_PAR_QUERY_DEVICE_ID_SIZE请求返回可以保存设备的 IEEE 1284 设备 ID 和 NULL 终止符的缓冲区的大小(以字节为单位)。 |
IOCTL_PAR_QUERY_INFORMATION IOCTL | IOCTL_PAR_QUERY_INFORMATION请求返回 IEEE 1284 链末设备的状态。 |
IOCTL_PAR_QUERY_LOCATION IOCTL | IOCTL_PAR_QUERY_LOCATION请求返回与并行设备关联的“LPTn”或“LPTn.m”符号链接名称。 |
IOCTL_PAR_QUERY_RAW_DEVICE_ID IOCTL | IOCTL_PAR_QUERY_RAW_DEVICE_ID请求返回原始设备 ID,其中包括以下内容 |
IOCTL_PAR_SET_INFORMATION IOCTL | IOCTL_PAR_SET_INFORMATION请求重置并初始化并行设备。 |
IOCTL_PAR_SET_READ_ADDRESS IOCTL | IOCTL_PAR_SET_READ_ADDRESS请求为并行设备设置扩展功能端口 (ECP) 或增强的并行端口 (EPP) 读取地址 (通道) 。 |
IOCTL_PAR_SET_WRITE_ADDRESS IOCTL | IOCTL_PAR_SET_WRITE_ADDRESS请求为并行设备设置扩展功能端口 (ECP) 或增强的并行端口 (EPP) 写入地址 (通道) 。 并行端口总线驱动程序将此请求排在并行设备的工作队列中。 |
IOCTL
IOCTL_IEEE1284_GET_MODE IOCTL_IEEE1284_GET_MODE请求返回当前为并行设备设置的 IEEE 1284 读写协议。 |
IOCTL_IEEE1284_NEGOTIATE IOCTL_IEEE1284_NEGOTIATE请求设置用于并行设备的读取和写入协议。 |
IOCTL_INTERNAL_DESELECT_DEVICE IOCTL_INTERNAL_DESELECT_DEVICE请求取消选择连接到并行端口的 IEEE 1284.3 菊花链设备或 IEEE 1284 链尾设备。 |
IOCTL_INTERNAL_DISCONNECT_IDLE IOCTL_INTERNAL_DISCONNECT_IDLE请求断开为并行设备设置的 IEEE 1284 操作模式的连接。 |
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO请求返回有关并行端口的信息。 |
IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO请求返回有关并行端口的即插即用信息。 |
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO请求返回有关并行端口的信息。 |
IOCTL_INTERNAL_INIT_1284_3_BUS IOCTL_INTERNAL_INIT_1284_3_BUS请求初始化 IEEE 1284.3 设备 ID 并将其分配给连接到并行端口的所有 1284.3 菊花链设备。 |
IOCTL_INTERNAL_LOCK_PORT IOCTL_INTERNAL_LOCK_PORT请求分配并行设备的父并行端口,并选择端口上的并行设备。 |
IOCTL_INTERNAL_LOCK_PORT_NO_SELECT IOCTL_INTERNAL_LOCK_PORT_NO_SELECT请求分配并行设备的父并行端口,但不选择并行设备。 |
IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE请求清除并行端口的操作模式。 |
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT请求将可选的中断服务例程和可选的延迟端口检查例程连接到并行端口。 |
IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT请求断开中断服务例程 (以及通过使用IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT请求连接的可选延迟端口检查服务例程) 。 |
IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE请求分配一个并行端口供客户端独占访问。 |
IOCTL_INTERNAL_PARALLEL_PORT_FREE IOCTL_INTERNAL_PARALLEL_PORT_FREE请求释放并行端口。 |
IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE请求设置并行端口的操作模式。 |
IOCTL_INTERNAL_PARCLASS_CONNECT IOCTL_INTERNAL_PARCLASS_CONNECT请求返回有关并行端口的信息,以及并行端口的系统提供的总线驱动程序为操作并行端口而提供的回调例程。 |
IOCTL_INTERNAL_PARCLASS_DISCONNECT IOCTL_INTERNAL_PARCLASS_DISCONNECT请求将客户端与并行设备断开连接。 |
IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO请求返回STATUS_SUCCESS。 |
IOCTL_INTERNAL_SELECT_DEVICE IOCTL_INTERNAL_SELECT_DEVICE请求:分配并行端口如果客户端未在输入PARALLEL_1284_COMMAND结构的 CommandFlags 成员中设置PAR_HAVE_PORT_KEEP_PORT标志,则并行端口的系统提供的函数驱动程序分配并行端口。 否则,并行端口函数驱动程序不会分配并行端口。选择 IEEE 1284.3 菊花链并行设备或附加到并行端口的链末设备尽管客户端可以使用所选设备请求选择链末设备,但 Microsoft 建议改用IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE请求。 并行端口函数驱动程序在将并行端口分配给客户端之前选择链末设备。 |
IOCTL_INTERNAL_UNLOCK_PORT IOCTL_INTERNAL_UNLOCK_PORT请求取消选择并行设备,并释放并行设备的父并行端口。 |
IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT请求释放并行设备的父并行端口。 |
IOCTL_PAR_GET_DEFAULT_MODES IOCTL_PAR_GET_DEFAULT_MODES请求返回默认写入 (前向) ,并读取 (反向) IEEE 1284 协议,供并行端口的系统提供的总线驱动程序使用。 |
IOCTL_PAR_GET_DEVICE_CAPS IOCTL_PAR_GET_DEVICE_CAPS请求执行以下操作:指定系统提供的并行端口的总线驱动程序不能与并行设备一起使用的协议返回并行设备支持的操作协议有关详细信息,请参阅为并行设备设置和清除通信模式。 |
IOCTL_PAR_IS_PORT_FREE IOCTL_PAR_IS_PORT_FREE请求确定在并行端口的系统提供的总线驱动程序处理请求时,并行设备的父并行端口是否可用。 |
IOCTL_PAR_QUERY_DEVICE_ID IOCTL_PAR_QUERY_DEVICE_ID请求返回由系统提供的函数驱动程序为并行端口分配的并行设备的 IEEE 1284 设备 ID。 |
IOCTL_PAR_QUERY_DEVICE_ID_SIZE IOCTL_PAR_QUERY_DEVICE_ID_SIZE请求返回可以保存设备的 IEEE 1284 设备 ID 和 NULL 终止符的缓冲区的大小(以字节为单位)。 |
IOCTL_PAR_QUERY_INFORMATION IOCTL_PAR_QUERY_INFORMATION请求返回 IEEE 1284 链末设备的状态。 |
IOCTL_PAR_QUERY_LOCATION IOCTL_PAR_QUERY_LOCATION请求返回与并行设备关联的“LPTn”或“LPTn.m”符号链接名称。 |
IOCTL_PAR_QUERY_RAW_DEVICE_ID IOCTL_PAR_QUERY_RAW_DEVICE_ID请求返回原始设备 ID,其中包括以下内容:_a两字节前缀,用于指定设备的 IEEE 1284 设备 ID 的大小(以字节为单位);IEEE 1284 设备 ID;和 NULL 终止符。 |
IOCTL_PAR_SET_INFORMATION IOCTL_PAR_SET_INFORMATION请求重置并初始化并行设备。 |
IOCTL_PAR_SET_READ_ADDRESS IOCTL_PAR_SET_READ_ADDRESS请求为并行设备设置扩展功能端口 (ECP) 或增强的并行端口 (EPP) 读取地址 (通道) 。 |
IOCTL_PAR_SET_WRITE_ADDRESS IOCTL_PAR_SET_WRITE_ADDRESS请求为并行设备设置扩展功能端口 (ECP) 或增强的并行端口 (EPP) 写入地址 (通道) 。 并行端口总线驱动程序将此请求排在并行设备的工作队列中。 |
函数
PDETERMINE_IEEE_MODES PDETERMINE_IEEE_MODES类型的回调例程确定并行设备支持的 IEEE 1284 协议。 并行端口的系统提供的总线驱动程序提供此例程。 |
PNEGOTIATE_IEEE_MODE PNEGOTIATE_IEEE_MODE类型的回调例程从调用方指定的协议中选择系统提供的用于并行端口的总线驱动程序支持的最快正向和反向协议。 |
PPARALLEL_CLEAR_CHIP_MODE PPARALLEL_CLEAR_CHIP_MODE类型的回调例程通过将主机芯片集的通信模式重置为 IEEE 1284 兼容模式来清除并行端口的操作模式。 |
PPARALLEL_DESELECT_ROUTINE PPARALLEL_DESELECT_ROUTINE类型的回调例程取消选择连接到并行端口的 IEEE 1284.3 菊花链设备或 IEEE 1284 链末设备。 |
PPARALLEL_FREE_ROUTINE PPARALLEL_FREE_ROUTINE类型的回调例程释放并行端口。 并行端口的系统提供的函数驱动程序提供此例程。 |
PPARALLEL_IEEE_FWD_TO_REV PPARALLEL_IEEE_FWD_TO_REV类型的回调例程将传输模式从正向更改为反向。 并行端口的系统提供的总线驱动程序提供此例程。 |
PPARALLEL_IEEE_REV_TO_FWD PPARALLEL_IEEE_REV_TO_FWD类型的回调例程将传输模式从反向更改为转发。 并行端口的系统提供的总线驱动程序提供此例程。 |
PPARALLEL_QUERY_WAITERS_ROUTINE PPARALLEL_QUERY_WAITERS_ROUTINE类型的回调例程返回在并行端口的工作队列上排队的IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE和IOCTL_INTERNAL_SELECT_DEVICE请求数。 |
PPARALLEL_READ PPARALLEL_READ类型的回调例程从并行设备读取数据。 并行端口的系统提供的总线驱动程序提供此例程。 |
PPARALLEL_SET_CHIP_MODE PPARALLEL_SET_CHIP_MODE类型的回调例程设置并行端口的操作模式。 并行端口的系统提供的函数驱动程序提供此例程。 |
PPARALLEL_TRY_ALLOCATE_ROUTINE PPARALLEL_TRY_ALLOCATE_ROUTINE类型的 (ISR) 回调例程尝试在 IRQL = DIRQL 分配并行端口。 并行端口的系统提供的函数驱动程序提供此例程。 |
PPARALLEL_TRY_SELECT_ROUTINE PPARALLEL_TRY_SELECT_ROUTINE类型的回调例程选择连接到并行端口的 IEEE 1284.3 菊花链设备或 IEEE 1284 链尾设备。 并行端口的系统提供的函数驱动程序提供此例程。 |
PPARALLEL_WRITE PPARALLEL_WRITE类型的回调例程将数据写入并行设备。 并行端口的系统提供的总线驱动程序提供此例程。 |
PTERMINATE_IEEE_MODE PTERMINATE_IEEE_MODE类型的回调例程终止当前 IEEE 操作模式,并将该模式设置为 IEEE 1284 兼容。 并行端口的系统提供的总线驱动程序提供此例程。 |
结构
MORE_PARALLEL_PORT_INFORMATION MORE_PARALLEL_PORT_INFORMATION 结构指定有关支持并行端口操作的系统接口的信息。 |
PAR_DEVICE_ID_SIZE_INFORMATION PAR_DEVICE_ID_SIZE_INFORMATION结构指定可以保存并行设备的 IEEE 1284 设备 ID 和 NULL 终止符的缓冲区的大小(以字节为单位)。 |
PAR_QUERY_INFORMATION PAR_QUERY_INFORMATION结构指定并行端口的操作状态。 |
PAR_SET_INFORMATION PAR_SET_INFORMATION 结构指定并行端口的初始运行状态。 |
PARALLEL_1284_COMMAND PARALLEL_1284_COMMAND结构指定客户端用于选择和取消选择 IEEE 1284.3 菊花链设备或 IEEE 1284 链末设备的信息。 |
PARALLEL_CHIP_MODE PARALLEL_CHIP_MODE 结构指定并行端口的操作模式。 |
PARALLEL_INTERRUPT_INFORMATION PARALLEL_INTERRUPT_INFORMATION 结构指定内核模式驱动程序可以在驱动程序连接到并行端口的 ISR 上下文中使用的信息。 |
PARALLEL_INTERRUPT_SERVICE_ROUTINE PARALLEL_INTERRUPT_SERVICE_ROUTINE 结构指定内核模式驱动程序可以连接到并行端口操作的中断服务。 |
PARALLEL_PNP_INFORMATION PARALLEL_PNP_INFORMATION结构指定有关并行端口功能的信息。 |
PARALLEL_PORT_INFORMATION PARALLEL_PORT_INFORMATION 结构指定有关分配给并行端口的资源、并行端口的功能以及指向内核模式驱动程序可用于操作并行端口的回调例程的指针的信息。 |
PARCLASS_INFORMATION PARCLASS_INFORMATION 结构指定有关并行端口的信息、指向回调例程以操作并行端口的指针,以及指向回调例程的指针,以便读取和写入并行设备。 |
PARCLASS_NEGOTIATION_MASK PARCLASS_NEGOTIATION_MASK 结构指定驱动程序为并行设备选择的读取和写入协议。 |