描述
EnumJobs功能检索指定打印机的指定打印作业集的信息。
C++ 语法
BOOL EnumJobs( __in HANDLE hPrinter, __in DWORD FirstJob, __in DWORD NoJobs, __in DWORD Level, __out LPBYTE pJob, __in DWORD cbBuf, __out LPDWORD pcbNeeded, __out LPDWORD pcReturned ); |
PowerBASIC 语法
FUNCTION EnumJobs ( _ BYVAL hPrinter AS DWORD, _ BYVAL FirstJob AS DWORD, _ BYVAL NoJobs AS DWORD, _ BYVAL Level AS DWORD, _ BYREF pJob AS ANY, _ BYVAL cbBuf AS DWORD, _ BYREF pcbNeeded AS DWORD, _ BYREF pcReturned AS DWORD _ ) AS LONG |
参数
hPrinter
[in]处理该函数枚举的打印作业的打印机对象。使用OpenPrinter或AddPrinter功能来检索打印机句柄。
FirstJob
[in]指定要列举的第一个打印作业的打印队列中的从零开始的位置。例如,值为0表示枚举应从打印队列中的第一个打印作业开始;值9指定枚举应从打印队列中的第十个打印作业开始。
NoJobs
[in]指定要枚举的打印作业的总数。
Level
[in]指定在pJob缓冲区中返回的信息类型。
值 |
含义 |
1 |
pJob接收JOB_INFO_1结构的数组 |
2 |
pJob接收JOB_INFO_2结构的数组 |
3 |
pJob接收JOB_INFO_3结构的数组 |
pJob
[out]指向接收JOB_INFO_1,JOB_INFO_2或JOB_INFO_3结构数组的缓冲区的指针。缓冲区必须足够大以接收结构数组和结构成员指向的任何字符串或其他数据。
要确定所需的缓冲区大小,请将cbBuf设置为零调用EnumJobs.EnumJobs失败,GetLastError返回ERROR_INSUFFICIENT_BUFFER,pcbNeeded参数返回保存结构数组及其数据所需的缓冲区大小(以字节为单位)。
cbBuf
[in]指定pJob缓冲区的大小(以字节为单位)。
pcbNeeded
[out]如果函数成功,则指向接收复制字节数的变量的指针。如果函数失败,则变量接收所需的字节数。
pcReturned
[out]指向pJob缓冲区中返回的JOB_INFO_1,JOB_INFO_2或JOB_INFO_3结构的变量的指针。
返回值
如果函数成功,则返回值为非零值。
如果函数失败,返回值为零。
备注
JOB_INFO_1结构包含一般打印作业信息; JOB_INFO_2结构具有更详细的信息。JOB_INFO_3结构包含有关作业如何链接的信息。
要确定打印机队列中打印作业的数量,请调用GetPrinter参数设置为2的GetPrinter功能。
引用文件 #INCLUDE Once
WinSpool.inc(包括Windows.inc)