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_1或JOB_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结构的JobId和NextJobId成员指定的作业具有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_1,JOB_INFO_2或JOB_INFO_3结构的指针来设置各种打印作业参数。
Windows 95:使用该函数设置打印作业参数时,必须将【命令】参数设置为0。
要删除或删除特定打印机的所有打印作业,请调用其【命令】参数设置为PRINTER_CONTROL_PURGE的SetPrinter功能。
以下JOB_INFO_1或JOB_INFO_2结构的成员在调用SetJob时将被忽略:
JobId,pPrinterName,pMachineName,提交,尺寸,提交和时间.
打印机必须具有PRINTER_ACCESS_ADMINISTER访问权限才能更改打印队列中打印作业的位置。
如果您不想在打印队列中设置打印作业的位置,则应将JOB_INFO_1或JOB_INFO_2结构的位置成员设置为JOB_POSITION_UNSPECIFIED。
Windows NT:使用JOB_INFO_3结构的SetJob功能将一组打印作业链接在一起。在单个文档由您要单独呈现的几个部分组成的情况下,这可能很有用。
也可以看看
AddJob, GetJob, OpenPrinter, SetPrinter, JOB_INFO_1, JOB_INFO_2, JOB_INFO_3