PRNJOBDATA

typedef struct _tagPRNJOBDATA
{
   L_UINT uStructSize; / * size of the structure */
   L_TCHAR szVirtualPrinterName[80]; / * printer Name */
   L_TCHAR szClientMachineName[80]; / * client Machine Name */
   L_TCHAR szUserName[80]; / * client User Name */
   L_TCHAR szIPAddress[80]; / * client IP Address */
   L_TCHAR szPrintJobName[255]; / * printed Job Name */
   L_INT nJobID; / * print Job ID */
   L_HGLOBAL hUserData; / * client User Data */
   L_UINT uUserDataSize; / * user Data Size */
} PRNJOBDATA, *pPRNJOBDATA;

The PRNJOBDATA structure provides information about install/uninstall LEADTOOLS Virtual Printer Drivers.

Member

Description

uStructSize

Size of this structure in bytes, for versioning. Use the sizeof() macro to calculate this value.

szVirtualPrinterName

Character string that contains the name of the printer. This is a NULL terminated string. The client printer driver will send the printer job name to the user Client DLL.

szClientMachineName

Character string that contains the name of the machine of the printed job. This is a NULL terminated string.

szUserName

Character string that contains the name of the user that printed the job. This is a NULL terminated string.

szIPAddress

Character string that contains the IP address of the machine that printed the job. This is a NULL terminated string.

szPrintJobName

Character string that contains the name of the printed job. This is a NULL terminated string.

nJobID

Unique job ID.

hUserData

Global pointer to be filled with user defined data, which will be sent to the server machine.

uUserDataSize

The length of the user data to be sent to the server machine.

Comments

The user demo DLL should implement the L_PrnClntPrintJob function, the printer driver will call this function and pass a PRNJOBDATA structure to it, the user have to fill the hUserData and uUserDataSize members of this structure, in order to be sent to the server.

The hUserData will be filled with the user specific data using normal windows API functions GlobalAlloc, GlobalLock and GlobalUnlock.

The uUserDataSize should contain an integer number that represents the size of the hUserData.

This structure is used within the L_PrnClntPrintJob function