Skip to content

Latest commit

 

History

History
211 lines (120 loc) · 6.91 KB

ns-parallel-_parclass_information.md

File metadata and controls

211 lines (120 loc) · 6.91 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NS:parallel._PARCLASS_INFORMATION
_PARCLASS_INFORMATION (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.
parports\parclass_information.htm
parports
02/15/2018
PARCLASS_INFORMATION structure
*PPARCLASS_INFORMATION, PARCLASS_INFORMATION, PARCLASS_INFORMATION structure [Parallel Ports], PPARCLASS_INFORMATION, PPARCLASS_INFORMATION structure pointer [Parallel Ports], _PARCLASS_INFORMATION, cisspd_b7b1d8b8-fc86-4bd9-a474-e31f416da93c.xml, parallel/PARCLASS_INFORMATION, parallel/PPARCLASS_INFORMATION, parports.parclass_information
parallel.h
Parallel.h
Windows
Windows
PARCLASS_INFORMATION, *PPARCLASS_INFORMATION
_PARCLASS_INFORMATION
parallel/_PARCLASS_INFORMATION
PPARCLASS_INFORMATION
parallel/PPARCLASS_INFORMATION
PARCLASS_INFORMATION
parallel/PARCLASS_INFORMATION
APIRef
kbSyntax
HeaderDef
parallel.h
_PARCLASS_INFORMATION
PPARCLASS_INFORMATION
PARCLASS_INFORMATION

_PARCLASS_INFORMATION structure

-description

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.

-struct-fields

-field Controller

Specifies the base I/O address allocated to a parallel port.

-field EcrController

-field SpanOfController

Specifies the range in bytes of I/O address space allocated to a parallel port.

-field DetermineIeeeModes

Pointer to the PDETERMINE_IEEE_MODES callback routine that determines which IEEE protocols a parallel device supports.

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

-field TerminateIeeeMode

Pointer to the PTERMINATE_IEEE_MODE callback routine that terminates the current IEEE mode and sets the mode to IEEE_COMPATIBILITY.

-field IeeeFwdToRevMode

Pointer to the PPARALLEL_IEEE_FWD_TO_REV callback routine that changes the transfer mode from forward to reverse.

-field IeeeRevToFwdMode

Pointer to the PPARALLEL_IEEE_REV_TO_FWD callback routine that changes the transfer mode from reverse to forward.

-field ParallelRead

Pointer to the PPARALLEL_READ callback routine that a client can use to read from a parallel device.

-field ParallelWrite

Pointer to the PPARALLEL_WRITE callback routine that a client can use to write to a parallel device.

-field ParclassContext

Pointer to the device extension of a parallel device's physical device object (PDO).

-field 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

-field FifoDepth

Specifies the size, in words, of the ECP FIFO. The ECP FIFO word size, in bits, is the value of FifoWidth.

-field FifoWidth

Specifies the ECP FIFO word size, in bits, which is the number of bits handled in parallel.

-field ParallelTryselect

-field ParallelDeSelect

-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;

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

-see-also

PPARALLEL_WRITE

PPARALLEL_READ

PTERMINATE_IEEE_MODE

PNEGOTIATE_IEEE_MODE

PPARALLEL_IEEE_FWD_TO_REV

PDETERMINE_IEEE_MODES

IOCTL_INTERNAL_PARCLASS_CONNECT

IOCTL_INTERNAL_LOCK_PORT

PPARALLEL_IEEE_REV_TO_FWD