并行端口

并行端口技术的概述。

若要开发并行端口,需要以下标头:

有关编程指南,请参阅 并行端口

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 协议反向) 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结构指定驱动程序为并行设备选择的读取和写入协议。