| 
   Available in LEADTOOLS Imaging Pro, Vector, Document, and Medical Imaging toolkits.  | 
#include "Ltprinter.h"
L_LTPRINTER_API L_INT L_PrnGetRemoteData(pszPrinterName, nJobId, pJobData)
| 
 L_TCHAR * pszPrinterName;  | 
 /* printer name */  | 
| 
 L_INT nJobId;  | 
 /* job ID */  | 
| 
 PRNJOBDATA *pJobData;  | 
 /* pointer to structure */  | 
Obtains the remote data attached to the print Job ID.
| 
 Parameter  | 
 Description  | 
| 
 pszPrinterName  | 
 Character string that contains the printer name.  | 
| 
 nJobId  | 
 ID of the job to retrieve remote data.  | 
| 
 pJobData  | 
 Pointer to a PRNJOBDATA structure to be updated with the remote data.  | 
Returns
| 
 SUCCESS  | 
 The function was successful.  | 
| 
 < 1  | 
 An error occurred. Refer to Return Codes.  | 
Comments
Comments
The L_PrnGetRemoteData function will obtain the pJobData structure data that was sent from the client machine printer driver, after the callback function L_PrnClntPrintJob was faired at the job is being printed.
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 Network Virtual Printer Driver Server Application.  | 
Win32, x64.
See Also
| 
 Functions:  | 
 L_PrnSetEnableNetworkPrinting, L_PrnSetNetworkInitialData, L_PrnIsNetworkPrintingEnabled, L_PrnGetNetworkInitialData, L_PrnInstallPrinter, L_PrnUninstallPrinter  | 
| 
 Topics:  | 
Example
/* Job Callback */
L_INT EXT_CALLBACK OnNetworkJobInfoProc(L_WCHAR *  pszPrinter,
                                 DWORD    dwJobID,
                                 DWORD    dwFlags,
                                 L_VOID * pData)
{
   UNREFERENCED_PARAMETER(pData);
   USES_CONVERSION;
   L_WCHAR szResult[ 250 ]; 
   wsprintfW( szResult, L"Job ID: %d.\nOn printer: ", dwJobID ); 
   lstrcatW( szResult, pszPrinter ); 
   switch( dwFlags ) 
   {
   case PRN_JOB_START: 
      PRNJOBDATA jobData;
      MessageBoxW( NULL, szResult, L"Starting", MB_OK ); 
      //Read the remote data sent by the client machine
#if defined(FOR_UNICODE)
      L_PrnGetRemoteData(pszPrinter, dwJobID, &jobData);
#else
      L_PrnGetRemoteData(W2A(pszPrinter), dwJobID, &jobData);
#endif
      
      if(&jobData == NULL)
         return 0;
      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)
         int nBytes = 0, nElements = 0;
         TCHAR * pszString = NULL;
         L_INT nRet = L_PrnGetEmbeddedFonts(TEXT("C:\\Path to font folder\\"), dwJobID, pszString, &nBytes, &nElements);
         if (nRet == TRUE)
         {
            pszString = (PTCHAR) malloc(nBytes);
            nRet = L_PrnGetEmbeddedFonts(TEXT("C:\\Path to font folder\\"), dwJobID, pszString, &nBytes, &nElements);
            for (int i = 0 ; i < nElements ; i++)
            {
               TCHAR * strFont = &pszString[MAX_PATH * i];
               MessageBox(NULL, strFont, TEXT("Font Received"), 0);
            }
            free(pszString);
         }
         L_PrnCancelPrintedJob(szPrinter, dwJobID);
      }
   }
   return 1; 
}
L_LTPRINTERTEX_API  L_VOID NetworkPrinterExample( ) 
{
   int nRet = L_PrnRegisterJobCallback(TEXT("TEST LEADTOOLS Printer"),OnNetworkJobInfoProc,NULL);
   // Enable network printing
   L_PrnSetEnableNetworkPrinting(TEXT("TEST LEADTOOLS Printer"), TRUE);
   L_BOOL bEnableNetwork = FALSE;
   // Check if network printing is enabled
   L_PrnIsNetworkPrintingEnabled(TEXT("TEST LEADTOOLS Printer"), &bEnableNetwork);
   if(!bEnableNetwork)
      return;
   L_CHAR *pCharData = "Network Printer Initial Data\0";
   L_LONG nInitialDataLenght = (L_LONG)strlen(pCharData);
   // Set Initial Network Data
   L_PrnSetNetworkInitialData(TEXT("TEST LEADTOOLS Printer"), (L_UCHAR*)pCharData, nInitialDataLenght);
   HGLOBAL hGlobal = NULL;
   L_LONG nGlobalDataSize;
   // Get Initial Network Data
   L_PrnGetNetworkInitialData(TEXT("TEST LEADTOOLS Printer"), &hGlobal, &nGlobalDataSize);
   if( nGlobalDataSize == nInitialDataLenght)
   {
      //Data set shoud be equal to data returned
      return;
   }
   
   if (nRet == SUCCESS)
   {
      L_PrnUnRegisterJobCallback(TEXT("TEST LEADTOOLS Printer")) ;
   }
}