PARCLASS_INFORMATION structure (parallel.h)
The PARCLASS_INFORMATION structure specifies information about a parallel port, pointers to callback routines to operate a parallel port, and pointers to callback routines to read and write to a parallel device.
Syntax
typedef struct _PARCLASS_INFORMATION {
PUCHAR Controller;
ULONG SpanOfController;
PDETERMINE_IEEE_MODES DetermineIeeeModes;
PNEGOTIATE_IEEE_MODE NegotiateIeeeMode;
PTERMINATE_IEEE_MODE TerminateIeeeMode;
PPARALLEL_IEEE_FWD_TO_REV IeeeFwdToRevMode;
PPARALLEL_IEEE_REV_TO_FWD IeeeRevToFwdMode;
PPARALLEL_READ ParallelRead;
PPARALLEL_WRITE ParallelWrite;
PVOID ParclassContext;
ULONG HardwareCapabilities;
ULONG FifoDepth;
ULONG FifoWidth;
} PARCLASS_INFORMATION, *PPARCLASS_INFORMATION;
Members
Controller
Specifies the base I/O address allocated to a parallel port.
EcrController
SpanOfController
Specifies the range in bytes of I/O address space allocated to a parallel port.
DetermineIeeeModes
Pointer to the PDETERMINE_IEEE_MODES callback routine that determines which IEEE protocols a parallel device supports.
NegotiateIeeeMode
Pointer to the PNEGOTIATE_IEEE_MODE callback routine that negotiates the fastest protocol that the system-supplied bus driver for parallel ports supports from among those specified by the caller.
TerminateIeeeMode
Pointer to the PTERMINATE_IEEE_MODE callback routine that terminates the current IEEE mode and sets the mode to IEEE_COMPATIBILITY.
IeeeFwdToRevMode
Pointer to the PPARALLEL_IEEE_FWD_TO_REV callback routine that changes the transfer mode from forward to reverse.
IeeeRevToFwdMode
Pointer to the PPARALLEL_IEEE_REV_TO_FWD callback routine that changes the transfer mode from reverse to forward.
ParallelRead
Pointer to the PPARALLEL_READ callback routine that a client can use to read from a parallel device.
ParallelWrite
Pointer to the PPARALLEL_WRITE callback routine that a client can use to write to a parallel device.
ParclassContext
Pointer to the device extension of a parallel device's physical device object (PDO).
HardwareCapabilities
Specifies which hardware capabilities are present. HardwareCapabilities is a bitwise OR of one or more of the following flags:
PPT_NO_HARDWARE_PRESENT
PPT_ECP_PRESENT
PPT_EPP_PRESENT
PPT_EPP_32_PRESENT
32-bit reads and writes are supported.
PPT_BYTE_PRESENT
PPT_BIDI_PRESENT
PPT_1284_3_PRESENT
FifoDepth
Specifies the size, in words, of the ECP FIFO. The ECP FIFO word size, in bits, is the value of FifoWidth.
FifoWidth
Specifies the ECP FIFO word size, in bits, which is the number of bits handled in parallel.
ParallelTryselect
ParallelDeSelect
Remarks
A kernel-mode driver can obtain this information from the system-supplied bus driver for parallel ports using an IOCTL_INTERNAL_PARCLASS_CONNECT request. The system-supplied bus driver for parallel ports supplies all the callback routines.
A client uses this information to operate a parallel port and to read and write a parallel device. The callback routines can only be used by a driver that holds a lock on the parent parallel port. A driver obtains a lock by using an IOCTL_INTERNAL_LOCK_PORT request.
For more information, see Connecting to a Parallel Device.
Requirements
Requirement | Value |
---|---|
Header | parallel.h (include Parallel.h) |