CommitSpoolData 函式

CommitSpoolData函式會通知列印多工緩衝處理器,指定的資料量已寫入指定的多工緩衝處理檔案,並準備好進行轉譯。

語法

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

參數

hPrinter [in]

提交作業之印表機的控制碼。 這應該是使用GetSpoolFileHandle取得hSpoolFile的相同控制碼。

hSpoolFile [in]

要變更之多工緩衝處理檔的控制碼。 在第一次呼叫 CommitSpoolData時,這應該是 GetSpoolFileHandle所傳回的相同控制碼。 後續對 CommitSpoolData 的呼叫應該傳遞上述呼叫所傳回的控制碼。 請參閱<備註>。

cbCommit

認可至列印多工緩衝處理器的位元組數目。

傳回值

如果函式成功,它會傳回多工緩衝處理檔案的控制碼。

如果函式失敗,它會傳回INVALID_HANDLE_VALUE。

備註

提交多工緩衝處理列印工作的應用程式可以呼叫 GetSpoolFileHandle ,然後呼叫 WriteFile直接將資料寫入至多工緩衝處理檔案控制代碼。 若要通知列印多工緩衝處理器,檔案包含準備好轉譯的資料,應用程式必須呼叫 CommitSpoolData 並提供可用的位元組數目。

如果 CommitSpoolData 多次呼叫,則每個呼叫都必須使用前一個呼叫所傳回的多工緩衝處理檔案控制代碼。 當不會再將資料寫入至多工緩衝處理檔時,應該針對上次呼叫CommitSpoolData所傳回的檔案控制碼呼叫CloseSpoolFileHandle

呼叫 CommitSpoolData之前,應用程式必須先將檔案指標設定為檔案在將資料寫入檔案之前的位置。 在轉譯多工緩衝處理常式檔案中的資料時,列印多工緩衝處理器會將多工緩衝處理常式檔案指標 cbCommit 位元組從檔案指標的目前值移動。

規格需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]
標頭
Winspool.h (包含 Windows.h)
程式庫
Winspool.lib
DLL
WinSpool.drv

另請參閱

列印

列印多工緩衝處理器 API 函式

GetSpoolFileHandle

CloseSpoolFileHandle