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_1ATTRIBUTE_INFO_2ATTRIBUTE_INFO_3ATTRIBUTE_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 = DEVMODEWdmCopies 成员

dwDrvNumberOfCopies = DEVMODEWdmCopies 成员

dwColorOptimization = 0

dmPrintQuality = DEVMODEWdmPrintQuality 成员

dmYResolution = DEVMODEWdmYResolution 成员

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

另请参阅

ATTRIBUTE_INFO_3

ATTRIBUTE_INFO_4

DEVMODEW

GetJobAttributes