PARALLEL_PORT_INFORMATION structure (parallel.h)

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.

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;

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.

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.

Requirements

Requirement Value
Header parallel.h (include Parallel.h)

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