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
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