Description:

SplProtWrite is an optional API and is exported by protocol converters. It is called by PrtWrite to put a BIDI protocol wrapper around print data and then send the data to the printer.

SplProtWrite is responsible for breaking write packets into sub-packets to accommodate packet size restrictions from the printer.

If the BIDI software protocol being used requires print job data to have a wrapper around it (see BIDI_Q_SW(800Ch) in BIDI Command Structures and Command Flow), the spooler calls SplProtWrite, the protocol converter's API. SplProtWrite then calls the port driver's SplPdWrite routine with an updated buffer.

#define INCL_SPL
#define INCL_SPLBIDI
#include <os2.h>

HFILE     hDevice;           /*  Handle from SplPdOpen to pass to SplPdWrite. */
PSZ       pszDeviceName;     /*  Device name. */
PFN       pfnPdWrite;        /*  Address of port driver function SplPdWrite. */
PFN       pfnBaseProtWrite;  /*  Base protocol converter address for ProtWrite routine. */
PVOID     pchData;           /*  Pointer to the data buffer to write. */
ULONG     cbInData;          /*  Length of information in pchData, in bytes. */
PULONG    pcbWritten;        /*  Pointer to count of bytes actually written to the device. */
ULONG     rc;                /*  Return codes. */

rc = SplProtWrite(hDevice, pszDeviceName,
       pfnPdWrite, pfnBaseProtWrite, pchData,
       cbInData, pcbWritten);


[Back: SplProtWrite]
[Next: SplProtWrite Parameter - hDevice]