GetJobAttributesEx 函式 (winsplp.h)

警告

從 Windows 10 開始,支援第三方列印提供者的 API 已被取代。 Microsoft 不建議對第三方列印提供者進行任何投資。 此外,在 v4 列印驅動程式模型的 Windows 8 和較新版本產品上,第三方列印提供者可能不會建立或管理使用 v4 列印驅動程式的佇列。

列印提供者的 GetJobAttributesEx 函式會取得列印作業的相關信息,包括 N-up 和反向列印選項。

語法

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,則多任務緩衝處理程式會將 pAttributeInfo 填入層級 1 到 dwLevel 所指定的層級的預設值。

例如,如果 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)
程式庫 Spoolss.lib
Dll Spoolss.dll

另請參閱

ATTRIBUTE_INFO_3

ATTRIBUTE_INFO_4

DEVMODEW

GetJobAttributes