IPrintCoreHelper::GetOption 方法 (prcomoem.h)

IPrintCoreHelper::GetOption 方法會取得指定功能的指定選項。

語法

HRESULT GetOption(
  [in]  const DEVMODE *pDevmode,
  [in]  DWORD         cbSize,
  [in]  PCSTR         pszFeatureRequested,
  [out] PCSTR         *ppszOption
);

參數

[in] pDevmode

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

[in] cbSize

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

[in] pszFeatureRequested

ANSI 字串的指標,其中包含 GPD 檔案中顯示的功能名稱。

[out] ppszOption

包含 ANSI 字串位址之變數的指標。 當 IPrintCoreHelper::GetOption 傳回時,字串應該包含目前選取選項的關鍵詞,因為它出現在組態檔中。 呼叫端不應該修改此字串,而且不應該釋放與此字串相關聯的記憶體。

傳回值

IPrintCoreHelper::GetOption 應該傳回下列其中一個值。

傳回碼 描述
S_OK
方法會讀取指定功能的選項。
E_FAIL
呼叫端提供了導致無效要求的資訊。 例如,所要求的功能不存在。
E_INVALIDARG
自變數無效。 此值可能表示不支援此功能,或要求太多功能選項。
E_OUTOFMEMORY
核心驅動程式無法服務要求,因為記憶體不足。
E_UNEXPECTED或其他未列於此處的傳回碼
核心驅動程式似乎處於無效狀態。 呼叫端應該傳回失敗碼。

備註

IPrintCoreHelper::GetOption 無法用於允許同時設定多個選項的功能。

功能關鍵詞如 GPD 和 PPD 檔案中所定義。 此外,Unidrv 和 Pscript5 驅動程式針對儲存在其私人 DEVMODEW 結構中的選項支援數個保留關鍵詞。

呼叫端不應該釋放 ppszOption 所指向的字串,而且不應該以任何方式修改字串。

規格需求

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

另請參閱

IPrintCoreHelper

IPrintCoreHelper::EnumOptions

IPrintCoreHelper::SetOptions