EndDocPrinter 関数

EndDocPrinter 関数は、指定したプリンターの印刷ジョブを終了します。

構文

BOOL EndDocPrinter(
  _In_ HANDLE hPrinter
);

パラメーター

hPrinter [in]

印刷ジョブを終了するプリンターを処理します。 プリンター ハンドルを取得するには、 OpenPrinter 関数または AddPrinter 関数を使用します。

戻り値

関数が成功した場合、戻り値は 0 以外の値になります。

関数が失敗した場合は、0 を返します。

注釈

注意

これはブロック関数または同期関数であり、すぐには返されない場合があります。 この関数が返す速度は、アプリケーションの作成時に予測が困難なネットワーク状態、プリント サーバーの構成、プリンター ドライバーの実装要因などの実行時の要因によって異なります。 ユーザー インターフェイスとの対話を管理するスレッドからこの関数を呼び出すと、アプリケーションが応答しなくなる可能性があります。

EndDocPrinter 関数は、StartDocPrinter 関数を呼び出して印刷ジョブが開始されなかった場合にエラーを返します。

印刷ジョブのシーケンスは次のとおりです。

  1. 印刷ジョブを開始するには、 StartDocPrinter を呼び出します。
  2. 各ページを開始するには、 StartPagePrinter を呼び出します。
  3. ページにデータを書き込むには、 WritePrinter を呼び出します。
  4. 各ページを終了するには、 EndPagePrinter を呼び出します。
  5. 必要な数のページに対して 2、3、4 を繰り返します。
  6. 印刷ジョブを終了するには、 EndDocPrinter を呼び出します。

スプール・ファイル内のページが約 350 MB を超えると、印刷に失敗し、エラー・メッセージが送信されないことがあります。 たとえば、これは大きな EMF ファイルを印刷するときに発生する可能性があります。 ページ サイズの制限は、使用可能な仮想メモリの量、プロセスの呼び出しによって割り当てられるメモリの量、プロセス ヒープ内の断片化の量など、多くの要因によって異なります。

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Winspool.h (Windows.h を含む)
ライブラリ
Winspool.lib
[DLL]
Spoolss.dll

関連項目

印刷

印刷スプーラー API 関数

EndDocPrinter

EndPagePrinter

StartDocPrinter

StartPagePrinter

WritePrinter