GetJobAttributesEx 函数 (winsplp.h)
警告
从Windows 10开始,支持第三方打印提供程序的 API 已弃用。 Microsoft 不建议对第三方打印提供商进行任何投资。 此外,在提供 v4 打印驱动程序模型的Windows 8和较新的产品上,第三方打印提供程序不得创建或管理使用 v4 打印驱动程序的队列。
打印提供程序的 GetJobAttributesEx 函数获取有关打印作业的信息,包括 N-up 和 reverse 打印选项。
语法
BOOL GetJobAttributesEx(
[in] LPWSTR pPrinterName,
[in] LPDEVMODEW pDevmode,
[in] DWORD dwLevel,
[out] LPBYTE pAttributeInfo,
[in] DWORD nSize,
[in] DWORD dwFlags
);
参数
[in] pPrinterName
调用方提供的指针指向包含打印机名称的以 NULL 结尾的 Unicode 字符串。
[in] pDevmode
调用方提供的指向传递给打印处理器或打印机驱动程序的 DEVMODEW 结构的指针。
[in] dwLevel
调用方提供的值,指示 pAttributeInfo 指向的结构类型,如下表所示。 有关详细信息,请参阅下面的 “备注 ”部分。
dwLevel 值 | pAttributeInfo 指向的结构 |
---|---|
1 | ATTRIBUTE_INFO_1 |
2 | ATTRIBUTE_INFO_2 |
3 | ATTRIBUTE_INFO_3 |
4 | ATTRIBUTE_INFO_4 |
[out] pAttributeInfo
调用方提供的指向属性信息结构的指针 (接收打印作业相关信息 的ATTRIBUTE_INFO_1、 ATTRIBUTE_INFO_2、 ATTRIBUTE_INFO_3或 ATTRIBUTE_INFO_4) 。
[in] nSize
pAttributeInfo 指向的缓冲区的大小(以字节为单位)。
[in] dwFlags
如果调用方设置为 FILL_WITH_DEFAULTS,则后台处理程序将使用从级别 1 到 dwLevel 指定的级别的默认值填充 pAttributeInfo。
例如,如果 dwLevel 为 4 并且指定了 FILL_WITH_DEFAULTS,则 pAttributeInfo 将使用以下默认成员值 ATTRIBUTE_INFO_4填充:
dwJobNumberOfPagesPerSide = 1
dwDrvNumberOfPagesPerSide = 1
dwNupBorderFlags = 0
dwJobPageOrderFlags = 0
dwDrvPageOrderFlags = 0
dwJobNumberOfCopies = DEVMODEW 的 dmCopies 成员
dwDrvNumberOfCopies = DEVMODEW 的 dmCopies 成员
dwColorOptimization = 0
dmPrintQuality = DEVMODEW 的 dmPrintQuality 成员
dmYResolution = DEVMODEW 的 dmYResolution 成员
dwNupDirection = RIGHT_THEN_DOWN
dwBookletFlags = BOOKLET_EDGE_LEFT
dwDuplexFlags = 0
dwScalingPercentX = 100
dwScalingPercentY = 100
dwJobHandlingFlags = 0
返回值
如果 GetJobAttributesEx 成功获取打印作业属性,则返回 TRUE;否则,它将返回 FALSE。
注解
此函数首先检查驱动程序是否支持 dwLevel 指示的属性级别。 如果驱动程序不支持该属性级别,则函数会查询驱动程序以获取下一个较低级别的支持, (dwLevel - 1) ,并继续查询逐渐降低的支持级别,直到它获得驱动程序提供的支持级别。 如果 dwFlags 设置为 FILL_WITH_DEFAULTS,则该函数将填充不受支持的级别的默认值。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | winsplp.h (包括 Winsplp.h) |
Library | Spoolss.lib |
DLL | Spoolss.dll |