L_PrnRegisterJobCallback
#include "Ltprinter.h"
L_LTPRINTER_API L_INT EXT_FUNCTION L_PrnRegisterJobCallback(pszPrinterName, fnJobInfoCallBack, pData)
L_TCHAR * pszPrinterName; |
/* printer name */ |
PRNJOBINFOPROC fnJobInfoCallBack; |
/* pointer to a Job callback */ |
L_VOID * pData; |
/* pointer to additional parameters */ |
Registers and enables the firing of the job callback function.
Parameter |
Description |
pszPrinterName |
Character string that contains the name of the LEADTOOLS Virtual Printer Driver. |
fnJobInfoCallBack |
Callback function to be registered. This callback function gets the Started and ended of printed job. |
pData |
Void pointer that you can use to pass one or more additional parameters that the callback function(s) needs. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
Initialize the COM library by calling the CoInitialize Windows C DLL before using callbacks. After you are finished using the callbacks release the COM library by calling the CoUninitialize Windows C DLL.
Required DLLs and Libraries
LTPRINTER For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your LEADTOOLS Virtual Printer Driver Application. |
Win32, x64.
See Also
Functions: |
|
Topics: |
LEADTOOLS Virtual Printer: Register and Un-register Callback Functions |
|
Example
/* Job Callback */ L_INT EXT_CALLBACK OnJobInfoProc(L_WCHAR * pszPrinter, DWORD dwJobID, DWORD dwFlags, L_VOID * pData) { UNREFERENCED_PARAMETER(pData); L_WCHAR szResult[ 250 ]; wsprintfW( szResult, L"Job ID: %d.\nOn printer: ", dwJobID ); lstrcatW( szResult, pszPrinter ); switch( dwFlags ) { case PRN_JOB_START: MessageBoxW( NULL, szResult, L"Starting", MB_OK ); break; case PRN_JOB_END: MessageBoxW( NULL, szResult, L"Ending", MB_OK ); break; default: { L_TCHAR szPrinter[_MAX_PATH]; memset(szPrinter, 0, sizeof(szPrinter)); #if defined(FOR_UNICODE) wcscpy_s(szPrinter, pszPrinter); #else size_t num = 0; wcstombs_s(&num, szPrinter, pszPrinter, _MAX_PATH); #endif // #if !defined(FOR_UNICODE) L_PrnCancelPrintedJob(szPrinter, dwJobID); } } return 1; } L_LTPRINTERTEX_API L_VOID RegistrationJobCallback( ) { int nRet = L_PrnRegisterJobCallback(TEXT("TEST LEADTOOLS Printer"),OnJobInfoProc,NULL); if (nRet == SUCCESS) { L_PrnUnRegisterJobCallback(TEXT("TEST LEADTOOLS Printer")) ; } }