Share via


StartPagePrinter 関数

StartPagePrinter 関数は、指定したプリンターでページが印刷されようとしていることをスプーラーに通知します。

構文

BOOL StartPagePrinter(
  _In_ HANDLE hPrinter
);

パラメーター

hPrinter [in]

プリンターへのハンドル。 プリンター ハンドルを取得するには、 OpenPrinter 関数または AddPrinter 関数を使用します。

戻り値

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

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

解説

注意

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

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

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

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

この関数を使用するサンプル プログラムについては、「 方法: GDI Print API を使用して印刷する」を参照してください。

必要条件

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

関連項目

印刷

印刷スプーラー API 関数

EndDocPrinter

EndPagePrinter

OpenPrinter

StartDocPrinter

StartPagePrinter

WritePrinter