勇芳软件工作室.汉化:  Printing > Print Spooler API > Print Spooler API Reference > Print Spooler API Functions >

WritePrinter

Previous pageReturn to chapter overviewNext page

描述

 

WritePrinter功能通知打印后台处理程序应将数据写入指定的打印机。

 

C++ 语法

 

BOOL WritePrinter(

__in  HANDLE hPrinter,

__in  LPVOID pBuf,

__in  DWORD cbBuf,

__out LPDWORD pcWritten

);

 

PowerBASIC 语法

 

FUNCTION WritePrinter ( _

BYVAL hPrinter AS DWORD, _

BYREF pBuf AS ANY, _

BYVAL cbBuf AS DWORD, _

BYREF pcWritten AS DWORD _

) AS LONG

 

参数

 

hPrinter

 

[in]处理打印机。使用OpenPrinterAddPrinter功能来检索打印机句柄。

 

pBuf

 

[in]指向包含应写入打印机的数据的字节数组的指针。

 

cbBuf

 

[in]指定数组的大小(以字节为单位)。

 

pcWritten

 

[out]指向接收写入打印机的数据字节数的值的指针。

 

返回值

 

如果函数成功,则返回值为非零值。

 

如果函数失败,返回值为零。

 

备注

 

打印作业的顺序如下:

 

1.要开始打印作业,请调用StartDocPrinter.
2.要开始每个页面,请调用StartPagePrinter.
3.要将数据写入页面,请调用WritePrinter.
4.要结束每一页,请调用EndPagePrinter.
5.根据需要重复2次,3次和4次多页。
6.要结束打印作业,请调用EndDocPrinter.

 

当高级文档(如Adobe PDF或Microsoft Word文件)或其他打印机数据(如PCL,PS或HPGL)直接发送到打印机时,文档中定义的打印设置取决于Windows打印设置。以“RAW”的StartPrintDocpDocInfo参数pDatatype输出的文档必须以硬件所理解的语言完全描述DEVMODE样式的打印作业设置。

 

Windows 2000 / XP / Vista / Windows 7:假脱机文件中的页面超过350 MB时,可能无法打印而不发送错误消息。例如,打印大型EMF文件时可能会发生这种情况。页面大小限制取决于许多因素,包括可用的虚拟内存量,调用进程分配的内存量以及进程堆中的碎片数量。

 

引用文件 #INCLUDE Once

 

WinSpool.inc