PARALLEL_INTERRUPT_INFORMATION - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// parallel.h

typedef struct _PARALLEL_INTERRUPT_INFORMATION {
  PKINTERRUPT                    InterruptObject;
  PPARALLEL_TRY_ALLOCATE_ROUTINE TryAllocatePortAtInterruptLevel;
  PPARALLEL_FREE_ROUTINE         FreePortFromInterruptLevel;
  PVOID                          Context;
} PARALLEL_INTERRUPT_INFORMATION, *PPARALLEL_INTERRUPT_INFORMATION;
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-parallel-_parallel_interrupt_information)

_PARALLEL_INTERRUPT_INFORMATION structure

Description

The PARALLEL_INTERRUPT_INFORMATION structure specifies information that a kernel-mode driver can use in the context of an ISR that the driver connects to a parallel port.

Members

InterruptObject

Pointer to the parallel port interrupt object.

TryAllocatePortAtInterruptLevel

Pointer to the system-supplied PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) callback routine that a kernel-mode driver can use to attempt to allocate the parallel port at IRQL = DIRQL.

FreePortFromInterruptLevel

Pointer to the system-supplied PPARALLEL_FREE_ROUTINE (ISR) callback routine that a kernel-mode driver can use to free the parallel port at IRQL = DIRQL.

Context

Pointer to the device extension of a functional device object that represents the parallel port.

Syntax

typedef struct _PARALLEL_INTERRUPT_INFORMATION {
  PKINTERRUPT                    InterruptObject;
  PPARALLEL_TRY_ALLOCATE_ROUTINE TryAllocatePortAtInterruptLevel;
  PPARALLEL_FREE_ROUTINE         FreePortFromInterruptLevel;
  PVOID                          Context;
} PARALLEL_INTERRUPT_INFORMATION, *PPARALLEL_INTERRUPT_INFORMATION;

Remarks

A kernel-mode driver can use the parallel interrupt information in the context of an interrupt service routine (ISR). A driver connects an ISR using an IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT request.

Note Microsoft does not recommend using a client-supplied interrupt routine. The use of interrupts might cause system instability. By default, the IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT request is disabled. For more information, see Connecting an Interrupt Service Routine to a ParallelPort.

See also

IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

PARALLEL_INTERRUPT_SERVICE_ROUTINE

IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT

PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR)

PPARALLEL_FREE_ROUTINE (ISR)