IOCTL_PAR_IS_PORT_FREE IOCTL (ntddpar.h)

IOCTL_PAR_IS_PORT_FREE请求确定在并行端口的系统提供的总线驱动程序处理请求时,并行设备的父并行端口是否可用。 此请求主要用于用户模式客户端。

在 I/O 管理器为设备控制请求调用并行端口总线驱动程序的调度例程后,会立即处理此请求。 但请注意,在并行端口总线驱动程序完成请求的时间和控件返回到用户模式客户端的时间之间,并行端口的状态可能会更改。

内核模式客户端可以通过调用系统提供的 PPARALLEL_TRY_ALLOCATE_ROUTINE 回调直接确定并行端口是否可用。

有关详细信息,请参阅 锁定和解锁 ParallelPort 以供并行设备使用

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

无。

输入缓冲区长度

无。

输出缓冲区

AssociatedIrp.SystemBuffer 成员指向客户端分配的 BOOLEAN 缓冲区以输出并行端口的状态。 如果并行端口可用,则系统提供的并行端口函数驱动程序会将缓冲区设置为 TRUE,否则会将缓冲区设置为 FALSE

输出缓冲区长度

BOOLEAN 的长度。

状态块

信息成员设置为 BOOLEAN 的大小(以字节为单位)。

Status 成员设置为并行设备的设备控制请求返回的泛型状态值之一或以下值:

STATUS_BUFFER_TOO_SMALL

Parameters.DeviceIoControl.OutputBufferLength 成员小于 BOOLEAN 的大小(以字节为单位)。

要求

要求
Header ntddpar.h (包括 Ntddpar.h)

另请参阅

IOCTL_INTERNAL_PARALLEL_PORT_FREE

PPARALLEL_TRY_ALLOCATE_ROUTINE

IOCTL_INTERNAL_LOCK_PORT