JOB_INFO_1 结构

JOB_INFO_1 结构指定打印作业信息,例如作业标识符值、为其后台打印作业的打印机的名称、创建打印作业的计算机的名称、拥有打印作业的用户的名称等。

语法

typedef struct _JOB_INFO_1 {
  DWORD      JobId;
  LPTSTR     pPrinterName;
  LPTSTR     pMachineName;
  LPTSTR     pUserName;
  LPTSTR     pDocument;
  LPTSTR     pDatatype;
  LPTSTR     pStatus;
  DWORD      Status;
  DWORD      Priority;
  DWORD      Position;
  DWORD      TotalPages;
  DWORD      PagesPrinted;
  SYSTEMTIME Submitted;
} JOB_INFO_1, *PJOB_INFO_1;

成员

JobId

作业标识符。

pPrinterName

指向以 null 结尾的字符串的指针,该字符串指定为其后台打印作业的打印机的名称。

pMachineName

指向以 null 结尾的字符串的指针,该字符串指定创建打印作业的计算机的名称。

pUserName

指向以 null 结尾的字符串的指针,该字符串指定拥有打印作业的用户的名称。

pDocument

指向以 null 结尾的字符串的指针,该字符串指定打印作业的名称 (例如,“MS-WORD: Review.doc”) 。

pDatatype

指向以 null 结尾的字符串的指针,该字符串指定用于记录打印作业的数据类型。

pStatus

指向以 null 结尾的字符串的指针,该字符串指定打印作业的状态。 应在 状态 之前检查此成员,如果 pStatusNULL,则状态由 Status 成员的内容定义。

Status

作业状态。 此成员的值可以是零,也可以是以下一个或多个值的组合。 值为零表示打印队列在文档完成后台处理后暂停。

含义
JOB_STATUS_BLOCKED_DEVQ 驱动程序无法打印作业。
JOB_STATUS_COMPLETE Windows XP 及更高版本: 作业已发送到打印机,但作业可能尚未打印。
有关更多信息,请参见备注。
JOB_STATUS_DELETED 作业已删除。
JOB_STATUS_DELETING 正在删除作业。
JOB_STATUS_ERROR 错误与作业相关联。
JOB_STATUS_OFFLINE 打印机处于脱机状态。
JOB_STATUS_PAPEROUT 打印机没有纸张。
JOB_STATUS_PAUSED 作业已暂停。
JOB_STATUS_PRINTED 作业已打印。
JOB_STATUS_PRINTING 作业正在打印。
JOB_STATUS_RESTART 作业已重启。
JOB_STATUS_RETAINED Windows Vista 及更高版本: 作业已保留在打印队列中,无法删除。 这可能是由以下问题引起的:
1) 调用 SetJob 手动保留作业,后台处理程序正在等待作业释放。
2) 作业尚未完成打印,必须先完成打印,然后才能自动删除作业。
有关打印作业命令的详细信息,请参阅 SetJob
JOB_STATUS_SPOOLING 作业正在假脱机。
JOB_STATUS_USER_INTERVENTION 打印机出现错误,要求用户执行某些操作。

优先级

作业优先级。 此成员可以是以下值之一,也可以介于 1 到 99 (MIN_PRIORITY 到 MAX_PRIORITY) 之间。

含义
MIN_PRIORITY 最低优先级。
MAX_PRIORITY 最大优先级。
DEF_PRIORITY 默认优先级。

位置

作业在打印队列中的位置。

TotalPages

文档包含的总页数。 如果打印作业不包含页分隔信息,则此值可能为零。

PagesPrinted

已打印的页数。 如果打印作业不包含页分隔信息,则此值可能为零。

已提交

一个 SYSTEMTIME 结构,指定此文档的后台打印时间。

此时间值采用世界时坐标 (UTC) 格式。 在显示之前,应将其转换为本地时间值。 可以使用 FileTimeToLocalFileTime 函数执行转换。

备注

不支持 TrueEndOfJob 的端口监视器会在作业提交到打印机后立即将作业设置为JOB_STATUS_PRINTED。

要求

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

另请参阅

打印

打印后台处理程序 API 结构

EnumJobs

GetJob

SetJob