// parallel.h
typedef struct _PARALLEL_PNP_INFORMATION {
PHYSICAL_ADDRESS OriginalEcpController;
PUCHAR EcpController;
ULONG SpanOfEcpController;
ULONG PortNumber;
ULONG HardwareCapabilities;
PPARALLEL_SET_CHIP_MODE TrySetChipMode;
PPARALLEL_CLEAR_CHIP_MODE ClearChipMode;
ULONG FifoDepth;
ULONG FifoWidth;
PHYSICAL_ADDRESS EppControllerPhysicalAddress;
ULONG SpanOfEppController;
ULONG Ieee1284_3DeviceCount;
PPARALLEL_TRY_SELECT_ROUTINE TrySelectDevice;
PPARALLEL_DESELECT_ROUTINE DeselectDevice;
PVOID Context;
ULONG CurrentMode;
PWSTR PortName;
} PARALLEL_PNP_INFORMATION, *PPARALLEL_PNP_INFORMATION;
View the official Windows Driver Kit DDI referenceNo description available.
The PARALLEL_PNP_INFORMATION structure specifies information about the capabilities of a parallel port.
OriginalEcpControllerSpecifies the base physical address that the system-supplied function driver for parallel ports uses to control the ECP operation of the parallel port.
EcpControllerPointer to the I/O port resource that is used to control the port in ECP mode.
SpanOfEcpControllerSpecifies the size, in bytes, of the I/O port resource.
PortNumberNot used.
HardwareCapabilitiesSpecifies the hardware capabilities of the parallel port. The following capabilities can be set using a bitwise OR of the following constants:
TrySetChipModePointer to the system-supplied PPARALLEL_SET_CHIP_MODE callback that a kernel-mode driver can use to change the operating mode of the parallel port.
ClearChipModePointer to the system-supplied PPARALLEL_CLEAR_CHIP_MODE callback that a kernel-mode driver can use to clear the operating mode of the parallel port.
FifoDepthSpecifies the size, in words, of the hardware first in/first out (FIFO) buffer. The FIFO word size, in bits, is the value of FifoWidth.
FifoWidthSpecifies the FIFO word size, in bits, which is the number of bits handled in parallel.
EppControllerPhysicalAddressNot used.
SpanOfEppControllerNot used.
Ieee1284_3DeviceCountSpecifies the number of daisy-chain devices currently attached to a parallel port. In Microsoft Windows XP, from zero to two devices can be simultaneously connected to a parallel port. In Windows 2000, from zero to four devices can be simultaneously connected to a parallel port.
TrySelectDevicePointer to the system-supplied PPARALLEL_TRY_SELECT_ROUTINE callback that a kernel-mode driver can use to attempt to select an IEEE 1284.3 device.
DeselectDevicePointer to the system-supplied PPARALLEL_DESELECT_ROUTINE callback that a kernel-mode driver can use to deselect an IEEE 1284.3 device.
ContextPointer to the device extension of a parallel port's functional device object (FDO).
CurrentModeThe current operating mode of the parallel port.
PortNameThe symbolic link name of the parallel port.
typedef struct _PARALLEL_PNP_INFORMATION {
PHYSICAL_ADDRESS OriginalEcpController;
PUCHAR EcpController;
ULONG SpanOfEcpController;
ULONG PortNumber;
ULONG HardwareCapabilities;
PPARALLEL_SET_CHIP_MODE TrySetChipMode;
PPARALLEL_CLEAR_CHIP_MODE ClearChipMode;
ULONG FifoDepth;
ULONG FifoWidth;
PHYSICAL_ADDRESS EppControllerPhysicalAddress;
ULONG SpanOfEppController;
ULONG Ieee1284_3DeviceCount;
PPARALLEL_TRY_SELECT_ROUTINE TrySelectDevice;
PPARALLEL_DESELECT_ROUTINE DeselectDevice;
PVOID Context;
ULONG CurrentMode;
PWSTR PortName;
} PARALLEL_PNP_INFORMATION, *PPARALLEL_PNP_INFORMATION;
For more information, see Obtaining Information About a ParallelPort.
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO
MORE_PARALLEL_PORT_INFORMATION
IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO