PFN_DrvStartDoc
コールバックシグネチャ
BOOL PFN_DrvStartDoc(
SURFOBJ* pso,
LPWSTR pwszDocName,
DWORD dwJobId
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| pso | SURFOBJ* | 呼び出し元が指定する SURFOBJ 構造体へのポインターです。 |
| pwszDocName | LPWSTR | 印刷するドキュメントの名前を指定する、NULL で終わる Unicode 文字列への、呼び出し元が指定するポインターです。 |
| dwJobId | DWORD | 呼び出し元が指定する印刷ジョブ番号です。この値は、StartDocPrinter の呼び出しでスプーラーから GDI に返されたものです。 |
公式ドキュメント
DrvStartDoc 関数は、GDI がレンダリングのためにドキュメントをドライバーへ送信し始める準備ができたときに、GDI によって呼び出されます。
戻り値
処理が成功した場合、この関数は TRUE を返す必要があります。それ以外の場合は、Win32 の SetLastError 関数を呼び出してエラーコードを設定し、FALSE を返す必要があります。
解説(Remarks)
プリンターグラフィックス DLL は、DrvStartDoc 関数を必ず提供しなければなりません。この関数は通常、ドキュメントが印刷される前に GDI の EngWritePrinter 関数を呼び出して、プリンターハードウェアに制御シーケンスを送信するために使用されます。また、プリンターグラフィックス DLL の内部的な、ドキュメント固有の初期化処理を実行することもできます。
DrvStartDoc 関数は、印刷ジョブの開始時と、アプリケーション (印刷プロセッサーなど) が ResetDC を呼び出したとき (DrvResetPDEV を参照) に呼び出されます。DrvStartDoc の呼び出しが ResetDC に由来する場合、pwszDocName パラメーターは NULL に、dwJobId パラメーターは 0 に設定されます。呼び出しがアプリケーションに由来する場合、これらのパラメーターにはそれぞれドキュメント名と印刷ジョブ番号が設定されます。
印刷ジョブが開始されるときにプリンターグラフィックス DLL が個別に呼び出されることはないため、プリンターが必要とする場合には、DrvStartDoc 関数がジョブを初期化するための制御シーケンスもプリンターに送信する必要があります (言い換えると、1 つのジョブにつきドキュメントは 1 つです)。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)