IPrintCoreUI2::EnumConstrainedOptions 方法 (prcomoem.h)
方法 IPrintCoreUI2::EnumConstrainedOptions
會決定功能的選項受到限制。
語法
HRESULT EnumConstrainedOptions(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCSTR pszFeatureKeyword,
[out] PZZSTR pmszConstrainedOptionList,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
參數
[in] poemuiobj
目前內容的指標, OEMUIOBJ 結構。
[in] dwFlags
為保留,且必須設定為零。
[in] pszFeatureKeyword
呼叫端提供的緩衝區指標,其中包含呼叫端感興趣的單一功能關鍵詞。
[out] pmszConstrainedOptionList
呼叫端提供的緩衝區指標,這個緩衝區會接收此功能MULTI_SZ格式的選項關鍵詞清單。 每個關鍵詞都代表目前組態中受限的選項。
將此參數設定為 NULL ,只要查詢限制選項清單的大小 (*azureNeeded) ,而不需要填入清單。
[in] cbSize
指定 pmszConstrainedOptionList 所指向之緩衝區的大小,以位元組為單位。
[out] pcbNeeded
接收限制選項清單之實際大小的記憶體位置指標,以位元組為單位。
傳回值
這個方法必須傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 如果功能的選項不受限制,方法也應該傳回此值。 在此情況下,方法應該將一個 Null 字元放在 pmszConstrainedOptionList 所指向的緩衝區中,而且應該將 **azureNeeded* 設定為 1。 |
|
cbSize 中的值小於要寫入輸出緩衝區的位元元組數目, (pmszConstrainedOptionList 所指向的緩衝區) 。
方法已呼叫, 並將 pmszConstrainedOptionList 設定為 NULL。 |
|
pszFeatureKeyword 所指向的字串不是辨識的功能。
poemuiobj 參數指向無效的內容物件。 功能的黏性與 peomuiobj所指向的內容物件不符。 (請參閱 取代 Driver-Supplied 屬性表 Pages.) |
|
方法失敗。 |
|
不支援此方法。 |
備註
只有完全取代核心驅動程式標準 UI 頁面的 Windows XP Pscript5 UI 外掛程式才支援此方法,而且只有在 UI 外掛程式的 IPrintOemUI::D ocumentPropertySheets 和 IPrintOemUI::D evicePropertySheets 函式及其屬性表回呼例程期間才支援此方法。 如需詳細資訊 ,請參閱取代屬性表頁面 Driver-Supplied 。
若要減少每個數據存取兩次呼叫的需求,請傳遞固定大小的輸出緩衝區 (1 KB,例如) ,然後檢查函式傳回值。 如果方法傳回S_OK,則緩衝區已經包含感興趣的數據。 如果方法傳回E_OUTOFMEMORY,*azureNeeded 中的值就是保存感興趣的數據所需的緩衝區大小。 接著呼叫端應該配置該較大大小的緩衝區,然後繼續進行方法的第二次呼叫。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | prcomoem.h (包括 Prcomoem.h) |
另請參閱
IPrintOemUI::D evicePropertySheets