SetJob

【勇芳软件工作室】汉化HomePreviousNext

SetJob功能在指定的打印机上暂停,恢复,取消或重新启动打印作业。您还可以使用SetJob功能来设置打印作业参数,例如打印作业优先级和文档名称。

Windows 95:您可以使用SetJob功能为打印作业提供命令,或设置打印作业参数,但不能在同一个调用中同时进行。因此,当【命令】参数不为零时,该函数忽略【水平】【pJob】参数。要设置打印作业参数,必须将【命令】设置为0。

Windows NT:您可以使用SetJob功能为打印作业提供命令,或设置打印作业参数,也可以在同一个调用中同时进行。【命令】参数的值不影响函数使用【水平】【pJob】参数。

BOOL SetJob(

HANDLE 【hPrinter】,//处理打印机对象
DWORD 【JobId】,//打印作业标识符
DWORD 【水平】,//指定作业信息结构的类型
LPBYTE 【pJob】,//指向作业信息结构的指针
DWORD 【命令】//作业命令值
); 

参数

【hPrinter】

处理感兴趣的打印机对象。

【JobId】

指定打印作业的标识符。通过调用AddJob函数或StartDoc函数获取打印作业标识符。

Windows NT:如果【水平】参数设置为3,则【JobId】参数必须与【pJob】指向的JOB_INFO_3结构的JOB_INFO_3成员相匹配。

【水平】

指定【pJob】参数指向的作业信息结构的类型。您可以将【水平】参数设置为0,1或2。

【水平】设置为0时,【pJob】应为NULL。当您不设置任何打印作业参数时,请使用这些值。

Windows NT:您也可以将【水平】参数设置为3。

Windows 95:仅当【命令】参数为0时,该参数仅注意此参数。如果【命令】不为零,则该函数忽略此参数和【pJob】参数。

【pJob】

指向JOB_INFO_1JOB_INFO_2结构。该函数使用此结构设置打印作业参数。

Windows NT: 【pJob】也可以指向JOB_INFO_3结构。

如果【水平】参数为0,则【pJob】应为NULL。

如果【水平】参数为1,则【pJob】应指向JOB_INFO_1结构。如果【水平】参数为2,则【pJob】应指向JOB_INFO_2结构。

Windows NT:如果【水平】参数为3,则【pJob】应指向JOB_INFO_3结构。您必须对JOB_INFO_3结构的JobIdNextJobId成员指定的作业具有JOB_ACCESS_ADMINISTER访问权限。

Windows 95:仅当【命令】参数为0时,该参数仅注意此参数。如果【命令】非零,该函数将忽略此参数和【水平】参数。

【命令】

指定要执行的打印作业操作。您可以使用以下值之一:

含义
JOB_CONTROL_CANCEL删除打印作业。
JOB_CONTROL_PAUSE暂停打印作业。
JOB_CONTROL_RESTART重新启动打印作业。只有打印作业才能重新启动。
JOB_CONTROL_RESUME恢复暂停的打印作业。

Windows 95:如果使用SetJob功能设置打印作业参数,则必须将【命令】参数设置为0。

Windows NT:您可以使用与SetJob功能相同的调用来设置打印作业参数并给出打印作业的命令。因此,如果您正在设置打印作业参数,【命令】不需要为0,尽管它可以。

返回值

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

如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.

备注

您可以使用SetJob功能通过提供指向包含必要数据的JOB_INFO_1JOB_INFO_2JOB_INFO_3结构的指针来设置各种打印作业参数。

Windows 95:使用该函数设置打印作业参数时,必须将【命令】参数设置为0。

要删除或删除特定打印机的所有打印作业,请调用其【命令】参数设置为PRINTER_CONTROL_PURGE的SetPrinter功能。

以下JOB_INFO_1JOB_INFO_2结构的成员在调用SetJob时将被忽略:

JobIdpPrinterNamepMachineName提交尺寸提交时间.

打印机必须具有PRINTER_ACCESS_ADMINISTER访问权限才能更改打印队列中打印作业的位置。

如果您不想在打印队列中设置打印作业的位置,则应将JOB_INFO_1JOB_INFO_2结构的位置成员设置为JOB_POSITION_UNSPECIFIED。

Windows NT:使用JOB_INFO_3结构的SetJob功能将一组打印作业链接在一起。在单个文档由您要单独呈现的几个部分组成的情况下,这可能很有用。

也可以看看

AddJob, GetJob, OpenPrinter, SetPrinter, JOB_INFO_1, JOB_INFO_2, JOB_INFO_3