// parallel.h
typedef struct _PARALLEL_PORT_INFORMATION {
PHYSICAL_ADDRESS OriginalController;
PUCHAR Controller;
ULONG SpanOfController;
PPARALLEL_TRY_ALLOCATE_ROUTINE TryAllocatePort;
PPARALLEL_FREE_ROUTINE FreePort;
PPARALLEL_QUERY_WAITERS_ROUTINE QueryNumWaiters;
PVOID Context;
} PARALLEL_PORT_INFORMATION, *PPARALLEL_PORT_INFORMATION;
View the official Windows Driver Kit DDI referenceNo description available.
The PARALLEL_PORT_INFORMATION structure specifies information about the resources assigned to a parallel port, the capabilities of the parallel port, and pointers to callback routines that a kernel-mode driver can use to operate the parallel port.
OriginalControllerSpecifies the bus relative base I/O address of the parallel port registers.
ControllerPointer to the system-mapped base I/O location of the parallel port registers.
SpanOfControllerSpecifies the size, in bytes, of the I/O space, allocated to the parallel port.
TryAllocatePortPointer to the system-supplied PPARALLEL_TRY_ALLOCATE_ROUTINE callback that a kernel-mode driver can use to attempt to allocate the parallel port.
FreePortPointer to the system-supplied PPARALLEL_FREE_ROUTINE callback that a kernel-mode driver can use to free the parallel port.
QueryNumWaitersPointer to the system-supplied PPARALLEL_QUERY_WAITERS_ROUTINE callback that a kernel-mode driver can use to determine the number of requests on the work queue of the parallel port.
ContextPointer to the device extension of parallel port.
typedef struct _PARALLEL_PORT_INFORMATION {
PHYSICAL_ADDRESS OriginalController;
PUCHAR Controller;
ULONG SpanOfController;
PPARALLEL_TRY_ALLOCATE_ROUTINE TryAllocatePort;
PPARALLEL_FREE_ROUTINE FreePort;
PPARALLEL_QUERY_WAITERS_ROUTINE QueryNumWaiters;
PVOID Context;
} PARALLEL_PORT_INFORMATION, *PPARALLEL_PORT_INFORMATION;
An IRP_MN_START_DEVICE request from the Plug and Play manager passes a translated resource list that contains the port information in a PARALLEL_PORT_INFORMATION structure. The system-supplied function driver for parallel ports saves the information in the extension of the parallel port and returns the information in response to an IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO request.
For more information, see Obtaining Information About a ParallelPort.
PPARALLEL_TRY_ALLOCATE_ROUTINE
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO
MORE_PARALLEL_PORT_INFORMATION
IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO
PPARALLEL_QUERY_WAITERS_ROUTINE