PARALLEL_PORT_INFORMATION - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// 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 reference

NtDoc

No description available.

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

_PARALLEL_PORT_INFORMATION structure

Description

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.

Members

OriginalController

Specifies the bus relative base I/O address of the parallel port registers.

Controller

Pointer to the system-mapped base I/O location of the parallel port registers.

SpanOfController

Specifies the size, in bytes, of the I/O space, allocated to the parallel port.

TryAllocatePort

Pointer to the system-supplied PPARALLEL_TRY_ALLOCATE_ROUTINE callback that a kernel-mode driver can use to attempt to allocate the parallel port.

FreePort

Pointer to the system-supplied PPARALLEL_FREE_ROUTINE callback that a kernel-mode driver can use to free the parallel port.

QueryNumWaiters

Pointer 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.

Context

Pointer to the device extension of parallel port.

Syntax

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;

Remarks

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.

See also

PPARALLEL_TRY_ALLOCATE_ROUTINE

IRP_MN_START_DEVICE

IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO

PPARALLEL_FREE_ROUTINE

IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO

PARALLEL_PNP_INFORMATION

MORE_PARALLEL_PORT_INFORMATION

IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO

PPARALLEL_QUERY_WAITERS_ROUTINE