Compartir a través de


IOCTL_PAR_IS_PORT_FREE IOCTL (ntddpar.h)

La solicitud de IOCTL_PAR_IS_PORT_FREE determina si el puerto paralelo primario de un dispositivo paralelo es libre en el momento en que el controlador de bus proporcionado por el sistema para puertos paralelos procesa la solicitud. Esta solicitud se proporciona principalmente para los clientes en modo de usuario.

Esta solicitud se procesa inmediatamente después de que el administrador de E/S llame a la rutina de distribución del controlador del bus de puerto paralelo para las solicitudes de control de dispositivos. Sin embargo, tenga en cuenta que el estado del puerto paralelo puede cambiar entre el momento en que el controlador del bus de puerto paralelo completa la solicitud y el tiempo que el control vuelve a un cliente en modo de usuario.

Los clientes en modo kernel pueden determinar directamente si un puerto paralelo está libre llamando a la devolución de llamada proporcionada por el sistema PPARALLEL_TRY_ALLOCATE_ROUTINE.

Para obtener más información, vea Bloquear y desbloquear una instancia de ParallelPort para su uso por un dispositivo paralelo.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

Ninguno.

Longitud del búfer de entrada

Ninguno.

Búfer de salida

El miembro AssociatedIrp.SystemBuffer apunta a un búfer BOOLEAN que el cliente asigna para generar el estado del puerto paralelo. Si el puerto paralelo está libre, el controlador de función proporcionado por el sistema para los puertos paralelos establece el búfer en TRUE; de lo contrario, establece el búfer en FALSE.

Longitud del búfer de salida

Longitud de un valor BOOLEAN.

Bloque de estado

El miembro Information se establece en el tamaño, en bytes, de un valor BOOLEAN.

El miembro Status se establece en uno de los valores de estado genéricos devueltos por las solicitudes de control de dispositivo para dispositivos paralelos o con el siguiente valor:

STATUS_BUFFER_TOO_SMALL

El miembro Parameters.DeviceIoControl.OutputBufferLength es menor que el tamaño, en bytes, de un valor BOOLEAN.

Requisitos

Requisito Valor
Header ntddpar.h (incluya Ntddpar.h)

Consulte también

IOCTL_INTERNAL_PARALLEL_PORT_FREE

PPARALLEL_TRY_ALLOCATE_ROUTINE

IOCTL_INTERNAL_LOCK_PORT