EndDocPrinter 函数
EndDocPrinter 函数结束指定打印机的打印作业。
语法
BOOL EndDocPrinter(
_In_ HANDLE hPrinter
);
parameters
-
hPrinter [in]
-
打印作业应结束的打印机的句柄。 使用 OpenPrinter 或 AddPrinter 函数检索打印机句柄。
返回值
如果函数成功,则返回值为非零值。
如果函数失败,则返回值为零。
注解
注意
这是一个阻塞或同步函数,可能不会立即返回。 此函数的返回速度取决于运行时因素,例如网络状态、打印服务器配置以及编写应用程序时难以预测的打印机驱动程序实现因素。 从管理与用户界面交互的线程调用此函数可能会使应用程序看起来无响应。
如果未通过调用 StartDocPrinter 函数启动打印作业, EndDocPrinter 函数将返回错误。
打印作业的顺序如下所示:
- 若要开始打印作业,请调用 StartDocPrinter。
- 若要开始每个页面,请调用 StartPagePrinter。
- 若要将数据写入页面,请调用 WritePrinter。
- 若要结束每页,请调用 EndPagePrinter。
- 对任意数量的页面重复 2、3 和 4。
- 若要结束打印作业,请调用 EndDocPrinter。
当后台打印文件中的页面超过大约 350 MB 时,它可能无法打印,也不会发送错误消息。 例如,打印大型 EMF 文件时可能会发生这种情况。 页面大小限制取决于许多因素,包括可用的虚拟内存量、通过调用进程分配的内存量以及进程堆中的碎片量。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|