次の方法で共有


DrvStartDoc 関数 (winddi.h)

DrvStartDoc 関数は、レンダリングのためにドライバーへのドキュメントの送信を開始する準備ができたら、GDI によって呼び出されます。

構文

BOOL DrvStartDoc(
  [in] SURFOBJ *pso,
  [in] LPWSTR  pwszDocName,
  [in] DWORD   dwJobId
);

パラメーター

[in] pso

SURFOBJ 構造体への呼び出し元から提供されるポインター。

[in] pwszDocName

印刷するドキュメントの名前を指定する NULL で終わる Unicode 文字列への呼び出し元指定ポインター。

[in] dwJobId

呼び出し元が指定した印刷ジョブ番号。 この値は、 StartDocPrinter の呼び出しでスプーラーから GDI に返されます。

戻り値

操作が成功した場合、関数は TRUE を返す必要があります。 それ以外の場合は、Win32 SetLastError 関数を呼び出してエラー コードを設定し、 FALSE を返す必要があります。

解説

プリンター グラフィックス DLL は、DrvStartDoc 関数を提供する必要があります。 通常、 関数は、GDI の EngWritePrinter 関数を呼び出すことによって、ドキュメントが印刷される前に、コントロール シーケンスをプリンター ハードウェアに送信するために使用されます。 この関数は、プリンター グラフィックス DLL に対して、ドキュメント固有の内部初期化操作を実行することもできます。

DrvStartDoc 関数は、印刷ジョブの開始時に呼び出され、アプリケーション (印刷プロセッサなど) が ResetDC を呼び出すたびに呼び出されます (「DrvResetPDEV」を参照)。 DrvStartDoc の呼び出しが ResetDC から行われる場合、pwszDocName パラメーターは NULL に設定され、dwJobId パラメーターは 0 に設定されます。 呼び出しがアプリケーションから送信されると、これらのパラメーターはそれぞれドキュメント名と印刷ジョブ番号に設定されます。

印刷ジョブの開始時にプリンター グラフィックス DLL を個別に呼び出す必要がないため、プリンターで必要な場合は、 DrvStartDoc 関数も制御シーケンスをプリンターに送信してジョブを初期化する必要があります。 (つまり、ジョブごとに 1 つのドキュメントがあります)。

要件

   
対象プラットフォーム デスクトップ
Header winddi.h (Winddi.h を含む)

関連項目

DrvEndDoc

DrvResetPDEV

EngWritePrinter