次の方法で共有


CommitSpoolData 関数

CommitSpoolData 関数は、指定された量のデータが指定されたスプール ファイルに書き込まれ、レンダリングの準備ができていることを印刷スプーラーに通知します。

構文

HANDLE CommitSpoolData(
  _In_ HANDLE hPrinter,
  _In_ HANDLE hSpoolFile,
       DWORD  cbCommit
);

パラメーター

hPrinter [in]

ジョブが送信されたプリンターへのハンドル。 これは、GetSpoolFileHandlehSpoolFile を取得するために使用されたものと同じハンドルである必要があります。

hSpoolFile [in]

変更されるスプール・ファイルのハンドル。 CommitSpoolData の最初の呼び出しでは、これは GetSpoolFileHandle によって返されたのと同じハンドルである必要があります。 CommitSpoolData の後続の呼び出しでは、前の呼び出しで返されたハンドルを渡す必要があります。 「解説」を参照してください。

cbCommit

印刷スプーラーにコミットされたバイト数。

戻り値

関数が成功すると、スプール ファイルへのハンドルが返されます。

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

注釈

スプーラー印刷ジョブを送信するアプリケーションは 、GetSpoolFileHandle を 呼び出し、WriteFile を呼び出してスプール ファイル ハンドルにデータを直接 書き込むことができます。 レンダリングの準備ができているデータがファイルに含まれていることを印刷スプーラーに通知するには、アプリケーションで CommitSpoolData を呼び出し、使用可能なバイト数を指定する必要があります。

CommitSpoolData が複数回呼び出される場合、各呼び出しでは、前の呼び出しによって返されたスプール ファイル ハンドルを使用する必要があります。 これ以上データがスプール ファイルに書き込まれない場合は、CommitSpoolData の最後の呼び出しによって返されるファイル ハンドルに対して CloseSpoolFileHandle を呼び出す必要があります。

CommitSpoolData を呼び出す前に、アプリケーションはファイルにデータを書き込む前の位置にファイル ポインターを設定する必要があります。 スプーラー ファイル内のデータをレンダリングするプロセスでは、印刷スプーラーは、スプール ファイル ポインター cbCommit バイトをファイル ポインターの現在の値から移動します。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]
Header
Winspool.h (Windows.h を含む)
ライブラリ
Winspool.lib
[DLL]
WinSpool.drv

関連項目

印刷

印刷スプーラー API 関数

GetSpoolFileHandle

CloseSpoolFileHandle