Compartir a través de


IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL (parallel.h)

La solicitud IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT conecta una rutina de servicio de interrupción opcional y una comprobación de puerto diferida rutina a un puerto paralelo. Solo los controladores en modo kernel pueden usar esta solicitud.

La solicitud de interrupción de conexión devuelve información que el controlador puede usar en el contexto de un ISR específico del controlador. La información incluye un puntero al objeto de interrupción y punteros para las rutinas de devolución de llamada que asignan y liberan el puerto paralelo en IRQL = DIRQL.

Nota Microsoft no recomienda usar una rutina de interrupción proporcionada por el cliente. El uso de interrupciones puede provocar inestabilidad del sistema. De forma predeterminada, la solicitud de interrupción de conexión está deshabilitada. Para obtener más información, consulte Conexión de una rutina de servicio de interrupción a unParallelPort.
 

Código principal

IRP_MJ_INTERNAL_DEVICE_CONTROL

Búfer de entrada

El miembro AssociatedIrp.SystemBu ffer apunta a una estructura de PARALLEL_INTERRUPT_SERVICE_ROUTINE que el cliente asigna a la información del servicio de interrupción de entrada. El controlador de funciones proporcionado por el sistema para puertos paralelos usa el mismo búfer de memoria, pero lo convierte en otro tipo de datos para generar información.

Longitud del búfer de entrada

El miembro Parameters.DeviceIoControl.InputBufferLength se establece en el tamaño, en bytes, de una estructura de PARALLEL_INTERRUPT_SERVICE_ROUTINE.

Búfer de salida

El miembro AssociatedIrp.SystemBuffer apunta a una estructura de PARALLEL_INTERRUPT_INFORMATION que usa el controlador de función de puerto paralelo para generar información de interrupción paralela.

Longitud del búfer de salida

El miembro Parameters.DeviceIoControl.OutputBufferLength se establece en el tamaño, en bytes, de una estructura de PARALLEL_INTERRUPT_INFORMATION.

Bloque de estado

Si la solicitud se realiza correctamente, el miembro Information se establece en el tamaño, en bytes, de una estructura de PARALLEL_INTERRUPT_INFORMATION. De lo contrario, el miembro de Information está establecido en cero.

El miembro Status se establece en uno de los valores de estado genéricos devueltos por las solicitudes de control de dispositivos internos para puertos paralelos o en uno de los siguientes valores:

STATUS_BUFFER_TOO_SMALL

Al menos uno de los siguientes valores es true:

El valor del miembro Parameters.DeviceIoControl.InputBufferLength es menor que el tamaño, en bytes, de una estructura PARALLEL_INTERRUPT_SERVICE_ROUTINE.

El valor del miembro Parameters.DeviceIoControl.OuputBufferLength es menor que el tamaño, en bytes, de una estructura de PARALLEL_INTERRUPT_INFORMATION.

Requisitos

Requisito Valor
encabezado de parallel.h (include Parallel.h)

Consulte también

PARALLEL_INTERRUPT_SERVICE_ROUTINE

IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

PARALLEL_INTERRUPT_INFORMATION