Information about printer device characteristics, returned by the BIDI_Q_DEVICE command.
typedef struct _PRTDEVCHAR { USHORT majorRev; /* Major revision level of software protocol. */ USHORT minorRev; /* Minor revision level of software protocol. */ USHORT cLogicalConnections; /* Number of logical connections with which the printer is capable of communicating. */ USHORT cPhysicalConnections; /* Number of physical ports in the printer. */ USHORT cActiveConnections; /* Number of different connections active with this printer. */ USHORT usReserved; /* Must be 0 (zero). */ USHORT extensionRev; /* Revision extension-level of software protocol. */ USHORT maxJobsComplete; /* Maximum number of jobs about which the printer can retain information. */ BYTE markingTech; /* Marking technology used by the printer. */ BYTE colorCaps; /* Color capabilities of the printer. */ USHORT colorlevels; /* Number of color or monochrome levels supported. */ BYTE duplexCaps; /* Duplex capabilities of the printer. */ BYTE lengthUnits; /* Units used by the printer when reporting lengths. */ USHORT horizUnits; /* Logical units per lengthUnit in the horizontal direction. */ USHORT vertUnits; /* Logical units per lengthUnit in the vertical direction. */ USHORT speed; /* Maximum speed of the printer. */ BYTE speedUnits; /* Units indicating speed capabilities of the printer. */ BYTE counterUnits; /* Units of measurement used in printer statistics. */ BYTE interpreters; /* Count of interpreters in the printer. */ BYTE inputs; /* Count of printing media inputs currently in the printer. */ BYTE outputs; /* Count of output destinations for printing media. */ BYTE options; /* Count of options installed in the printer. */ BYTE msgLanguage; /* Language used in text messages sent from printer. */ BYTE ubReserved; /* Reserved; must be 0 (zero). */ ULONG maxReceivePacketSize; /* Maximum size, in bytes, of a data packet that can be received by the printer. */ USHORT maxOutstandingCmds; /* Number of commands that the printer can receive and be working on at one time. */ ULONG memory; /* Total RAM installed in printer in K bytes. */ ULONG ulpszPrinterName; /* Model and manufacturer of printer. */ ULONG ulpszRevision; /* Revision level of the printer. */ ULONG ulpszSerialNo; /* Serial number of the printer. */ } PRTDEVCHAR; typedef PRTDEVCHAR * PPRTDEVCHAR ;