StartPagePrinter 関数
StartPagePrinter 関数は、指定したプリンターでページが印刷されようとしていることをスプーラーに通知します。
構文
BOOL StartPagePrinter(
_In_ HANDLE hPrinter
);
パラメーター
-
hPrinter [in]
-
プリンターへのハンドル。 プリンター ハンドルを取得するには、 OpenPrinter 関数または AddPrinter 関数を使用します。
戻り値
関数が成功した場合、戻り値は 0 以外の値になります。
関数が失敗した場合は、0 を返します。
解説
注意
これはブロック関数または同期関数であり、すぐには返されない場合があります。 この関数が返す速度は、アプリケーションの作成時に予測が困難なネットワーク状態、プリント サーバーの構成、プリンター ドライバーの実装要因などの実行時の要因によって異なります。 ユーザー インターフェイスとの対話を管理するスレッドからこの関数を呼び出すと、アプリケーションが応答しなくなる可能性があります。
印刷ジョブのシーケンスは次のとおりです。
- 印刷ジョブを開始するには、 StartDocPrinter を呼び出します。
- 各ページを開始するには、 StartPagePrinter を呼び出します。
- ページにデータを書き込むには、 WritePrinter を呼び出します。
- 各ページを終了するには、 EndPagePrinter を呼び出します。
- 必要な数のページに対して 2、3、4 を繰り返します。
- 印刷ジョブを終了するには、 EndDocPrinter を呼び出します。
スプール・ファイル内のページが約 350 MB を超えると、印刷に失敗し、エラー・メッセージが送信されないことがあります。 たとえば、これは大きな EMF ファイルを印刷するときに発生する可能性があります。 ページ サイズの制限は、使用可能な仮想メモリの量、プロセスの呼び出しによって割り当てられるメモリの量、プロセス ヒープ内の断片化の量など、多くの要因によって異なります。
例
この関数を使用するサンプル プログラムについては、「 方法: GDI Print API を使用して印刷する」を参照してください。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|