The IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT request connects an optional interrupt service routine and an optional deferred port check routine to a parallel port. Only kernel-mode drivers can use this request.
The connect interrupt request returns information that the driver can use in the context of a driver-specific ISR. The information includes a pointer to the interrupt object and pointers to callback routines that allocate and free the parallel port at IRQL = DIRQL.
The AssociatedIrp.SystemBuffer member points to a PARALLEL_INTERRUPT_SERVICE_ROUTINE structure that the client allocates to input interrupt service information. The system-supplied function driver for parallel ports uses the same memory buffer, but casts it to a different data type to output information.
Input Buffer Length
The Parameters.DeviceIoControl.InputBufferLength member is set to the size, in bytes, of a PARALLEL_INTERRUPT_SERVICE_ROUTINE structure.
The AssociatedIrp.SystemBuffer member points to a PARALLEL_INTERRUPT_INFORMATION structure that the parallel port function driver uses to output parallel interrupt information.
Output Buffer Length
The Parameters.DeviceIoControl.OutputBufferLength member is set to the size, in bytes, of a PARALLEL_INTERRUPT_INFORMATION structure.
If the request is successful, the Information member is set to the size, in bytes, of a PARALLEL_INTERRUPT_INFORMATION structure. Otherwise, the Information member is set to zero.
The Status member is set to one of the generic status values returned by internal device control requests for parallel ports or to one of the following values:
|Header||parallel.h (include Parallel.h)|