GetJob 函数

GetJob 函数检索有关指定打印作业的信息。

语法

BOOL GetJob(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   JobId,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pJob,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded
);

参数

hPrinter [in]

检索打印作业数据的打印机的句柄。 使用 OpenPrinterAddPrinter 函数检索打印机句柄。

JobId [in]

标识要检索数据的打印作业。 使用 AddJob 函数或 StartDoc 函数获取打印作业标识符。

级别 [in]

pJob 缓冲区中返回的信息类型。 如果 Level 为 1, 则 pJob 接收 JOB_INFO_1 结构。 如果 Level 为 2, 则 pJob 接收 JOB_INFO_2 结构。

pJob [out]

指向接收 JOB_INFO_1 或包含作业相关信息 的JOB_INFO_2 结构的缓冲区的指针。 缓冲区必须足够大,才能存储结构成员指向的字符串。

若要确定所需的缓冲区大小,请调用将 cbBuf 设置为零的 GetJobGetJob 失败, GetLastError 返回ERROR_INSUFFICIENT_BUFFER, 而ERROR_INSUFFICIENT_BUFFER,而ERROR_INSUFFICIENT_BUFFER,而ERROR_INSUFFICIENT_BUFFER 参数返回保存结构数组及其数据所需的缓冲区大小(以字节为单位)。

cbBuf [in]

数组的大小(以字节为单位)。

线路板 [out]

指向值的指针,该值指定在函数成功时复制的字节数;如果 cbBuf 太小,则指定所需的字节数。

返回值

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

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

注解

注意

这是一个阻塞或同步函数,可能不会立即返回。 此函数的返回速度取决于运行时因素,例如网络状态、打印服务器配置以及编写应用程序时难以预测的打印机驱动程序实现因素。 从管理与用户界面交互的线程调用此函数可能会使应用程序看起来无响应。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winspool.h (包括 Windows.h)

Winspool.lib
DLL
Winspool.drv
Unicode 和 ANSI 名称
GetJobW (Unicode) 和 GetJobA (ANSI)

另请参阅

打印

打印后台处理程序 API 函数

AddJob

JOB_INFO_1

JOB_INFO_2

ScheduleJob

SetJob