IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL (parallel.h)
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.
IRP_MJ_INTERNAL_DEVICE_CONTROL
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.
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.
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:
STATUS_BUFFER_TOO_SMALL
At least one of the following is true:
The value of the Parameters.DeviceIoControl.InputBufferLength member is less than the size, in bytes, of a PARALLEL_INTERRUPT_SERVICE_ROUTINE structure.
The value of the Parameters.DeviceIoControl.OuputBufferLength member is less than the size, in bytes, of a PARALLEL_INTERRUPT_INFORMATION structure.
Requirement | Value |
---|---|
Header | parallel.h (include Parallel.h) |
PARALLEL_INTERRUPT_SERVICE_ROUTINE