共用方式為


IPrintCoreHelperPS::WhyConstrained 方法 (prcomoem.h)

IPrintCoreHelperPS::WhyConstrained 方法提供選項清單,以限制目前組態中指定的功能選項組。

語法

HRESULT WhyConstrained(
  [in, optional] const DEVMODE              *pDevmode,
  [in]           DWORD                      cbSize,
  [in]           PCSTR                      pszFeatureKeyword,
  [in]           PCSTR                      pszOptionKeyword,
  [out]          const PRINT_FEATURE_OPTION **ppFOConstraints,
  [out]          DWORD                      *pdwNumOptions
);

參數

[in, optional] pDevmode

DEVMODEW 結構的指標。 如果提供此指標, IPrintCoreHelperPS::WhyConstrained 應該使用 pDevmode 所指向的 DEVMODEW 結構,而不是預設或目前的 DEVMODEW 結構。 如果從外掛程式提供者或 IPrintOemPS::D evMode 呼叫此方法,則需要此參數。 在其他大部分情況下,參數應該是 NULL。 當核心驅動程式將 pDevmode 設定為 NULL 時,它會修改其內部狀態,而不是傳入 DEVMODEW 結構的內部狀態。 這在完整UI取代等作業期間是必要的,其中 DDI 所傳回的DEVMODEW結構,例如 DrvDocumentPropertySheets,正由核心驅動程式的UI模組提供服務。

[in] cbSize

pDevmode 參數所指向之 DEVMODEW 結構的大小,以位元組為單位。

[in] pszFeatureKeyword

包含功能名稱的 ANSI 字串指標。 功能名稱應該對應至PPD檔案中使用的關鍵詞。

[in] pszOptionKeyword

包含選項名稱的 ANSI 字串指標。 選項名稱應該對應至PPD檔案中使用的關鍵詞。

[out] ppFOConstraints

PRINT_FEATURE_OPTION項目的陣列指標。 當 IPrintCoreHelperPS::WhyConstrained 傳回時,陣列會包含限制 pszOptionKeyword 參數中所指定選項的功能元素組清單。

[out] pdwNumOptions

變數的指標,該變數會接收 ppFOConstraints 參數所指向之陣列中的功能選項組數目。

傳回值

IPrintCoreHelperPS::WhyConstrained 應該會傳回下列其中一個值。

傳回碼 描述
S_OK
作業成功。
E_INVALIDARG
一或多個自變數無效,或不支援此功能。
E_OUTOFMEMORY
無法配置結果陣列的記憶體。
 

針對其他失敗,方法應該會傳回標準 COM 錯誤碼。

備註

如果指定的功能選項組不受限制, IPrintCoreHelperPS::WhyConstrained 會傳回S_OK,但會傳回 *pdwFOPairs 設定為 0,並將 *ppFOConstraints[0] 設定為 NULL

請注意,這個方法的結果可能不會包含影響目前選取選項的所有選項。 不過,如果組合無效,則清單中只會包含一個選項。

規格需求

需求
目標平台 桌面
標頭 prcomoem.h (包含 Prcomoem.h)

另請參閱

IPrintCoreHelperPS

IPrintCoreHelperPS::EnumConstrainedOptions