フレームを表示

L_PrnRegisterJobCallback

フレームを表示

#include "Ltprinter.h"

L_LTPRINTER_API L_INT EXT_FUNCTION L_PrnRegisterJobCallbackpszPrinterName、fnJobInfoCallBack、pData

L_TCHAR * pszPrinterName;

/* プリンター名*/

PRNJOBINFOPROC fnJobInfoCallBack;

/* ジョブコールバックへのポインター*/

L_VOID * pData;

/* 追加のパラメーターへのポインタ*/

登録して、ジョブコールバック関数の発砲を有効にします。

パラメーター

説明

pszPrinterName

LEADTOOLS仮想プリンタドライバーの名前を格納する文字列。

fnJobInfoCallBack

登録されるコールバック関数。このコールバック関数はStartedを取得して、印刷されたジョブの終わりました。

pData

コールバック関数が必要とする一つ以上の追加のパラメータを渡すために使用することができるボイドポインター。

戻り値

SUCCESS

関数は成功しました。

<1

エラーが発生しました。リターンコードを参照してください

コメント

コールバックを使う前にCoInitialize Windows C APIを呼び出すことによって、COMライブラリを初期化します。コールバックを使い終わったあと、CoUninitialize Windows C APIを呼び出すことによって、COMライブラリをリリースします。

必須のDLLとライブラリ

LTPRINTER

ツールキットバージョンに基づいた、必要な正確なDLLとライブラリのリストについては、LEADTOOLS仮想プリンタドライバーアプリケーションで含まれるファイルを参照してください。

プラットホーム

Win32 x 64

参照

関数:

L_PrnUnRegisterJobCallback, PRNJOBINFOPROC

トピック:

LEADTOOLS仮想プリンタ:登録して、コールバック関数を登録解除します

 

LEADTOOLS仮想プリンタドライバの操作

サンプル

/* 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_INT RegistrationJobCallback( ) 
{
   int nRet = L_PrnRegisterJobCallback(TEXT("TEST LEADTOOLS Printer"),OnJobInfoProc,NULL);

   if (nRet == SUCCESS)
   {
      L_PrnUnRegisterJobCallback(TEXT("TEST LEADTOOLS Printer")) ;
   }

   return nRet;
}