GetPrinterDataFromPort

BOOL GetPrinterDataFromPort(
    HANDLE   hPort,
    DWORD    ControlID,
    LPTSTR   pValueName,
    LPTSTR   lpInBuffer,
    DWORD    cbInBuffer,
    LPTSTR   lpOutBuffer,
    DWORD    cbOutBuffer,
    LPDWORD  lpcbReturned
);
 

Gets data from a bidirectional printer by providing IEEE 1284 support.

hPort The handle of the port to which the bidirectional printer is connected.
ControlID Specifies the control code for the operation.
pValueName Ignored by the port monitor.
lpInBuffer Points to a buffer containing the data required to perform the operation. This parameter can be NULL if the ControlID parameter specifies an operation that does not require input data.
cbInBuffer Size of the input buffer, in bytes.
lpOutBuffer Points to a buffer in which to return the specified operation's output data. This parameter can be NULL if the ControlID parameter specifies an operation that does not produce output data.
cbOutBuffer Size of the output buffer, in bytes.
lpcbReturned Points to a variable that receives the actual size, in bytes, of the output data returned in the output buffer.

The GetPrinterDataFromPort function can be used to make any IEEE 1284 specification IOCTL call.