Compartir a través de


IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL (parallel.h)

La solicitud de IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT conecta una rutina de servicio de interrupción opcional y una rutina de comprobación de puerto diferida opcional 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 parallelPort.
 

Código principal

IRP_MJ_INTERNAL_DEVICE_CONTROL

Búfer de entrada

El miembro AssociatedIrp.SystemBuffer apunta a una estructura de PARALLEL_INTERRUPT_SERVICE_ROUTINE que el cliente asigna a la información de servicio de interrupción de entrada. El controlador de función proporcionado por el sistema para puertos paralelos usa el mismo búfer de memoria, pero lo convierte en un tipo de datos diferente 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 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 PARALLEL_INTERRUPT_INFORMATION . De lo contrario, el miembro Information se establece 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 valores siguientes:

STATUS_BUFFER_TOO_SMALL

Se cumple al menos una de las siguientes condiciones:

El valor del miembro Parameters.DeviceIoControl.InputBufferLength es menor que el tamaño, en bytes, de una estructura de 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
Header parallel.h (include Parallel.h)

Consulte también

PARALLEL_INTERRUPT_SERVICE_ROUTINE

IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

PARALLEL_INTERRUPT_INFORMATION