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