IPrintCoreUI2::SetOptions 方法 (prcomoem.h)
方法 IPrintCoreUI2::SetOptions
會設定驅動程式的功能設定。
語法
HRESULT SetOptions(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCZZSTR pmszFeatureOptionBuf,
[in] DWORD cbIn,
[out] PDWORD pdwResult
);
參數
[in] poemuiobj
目前內容的指標, OEMUIOBJ 結構。
[in] dwFlags
指定核心驅動程式是否要解決衝突。 此參數必須設定為下列其中一個值:
值 | 意義 |
---|---|
SETOPTIONS_FLAG_KEEP_CONFLICT | 要求核心驅動程式不要解決任何發生的衝突。 |
SETOPTIONS_FLAG_RESOLVE_CONFLICT | 要求核心驅動程序解決任何發生的衝突。 |
[in] pmszFeatureOptionBuf
呼叫端提供的緩衝區指標,其中包含MULTI_SZ格式的功能/選項關鍵片語清單。 此清單中的每個專案會以 Null 字元隔開下一個專案,且清單會以兩個 Null 字元終止。
[in] cbIn
指定 pmszFeatureOptionBuf 所指向緩衝區的大小,以位元組為單位。 此大小包含最後一個MULTI_SZ null 字元。
[out] pdwResult
接收下列其中一個值的記憶體位置指標。 這些常數定義於 printoem.h 中。
值 | 意義 |
---|---|
SETOPTIONS_RESULT_CONFLICT_REMAINED | 核心驅動程序發現衝突,但已讓它們無法解決。 |
SETOPTIONS_RESULT_CONFLICT_RESOLVED | 核心驅動程式找到並解決所有衝突。 |
SETOPTIONS_RESULT_NO_CONFLICT | 核心驅動程式找不到任何衝突。 |
傳回值
方法必須傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
不支援此方法。
不支援 dwLevel 所指定的型別結構。 |
|
dwFlags 中的值不正確。
pmszFeatureOptionBuf) 所指向的輸入緩衝區 (不是MULTI_SZ格式。 poemuiobj 參數指向無效的內容物件。 |
|
方法失敗 |
備註
只有 Windows XP Pscript5 外掛程式才支援這個方法,不適用於 Unidrv 外掛程式。
系統會呼叫這個方法,以使用功能/選項關鍵片語清單來設定驅動程式的功能設定。 呼叫端可以使用 IPrintCoreUI2::GetOptions 方法來存取產生的功能設定。
如果這個方法傳回S_OK以外的任何值,則不會在驅動程式的功能設定中進行任何變更。
pmszFeatureOptionBuf 輸入緩衝區的建構方式必須與 IPrintCoreUI2::GetOptions 方法的輸出緩衝區相同。 也就是說,功能/選項關鍵片語必須採用MULTI_SZ格式,而且清單中的每個項目都會以 null 字元隔開下一個專案。 一對 Null 字元會終止清單。
如果輸入緩衝區包含無法辨識的功能關鍵詞或其 option 關鍵詞,或是目前黏性模式中辨識功能,但不支援此功能 (請參閱 取代 Driver-Supplied 屬性表頁面) ,則會忽略功能/選項組,而且該功能的目前選項會繼續生效。
只有完全取代核心驅動程式標準 UI 頁面的 UI 外掛程式才支援這個方法,而且只有在 UI 外掛程式的 IPrintOemUI::D ocumentPropertySheets 和 IPrintOemUI::D evicePropertySheets 函式及其屬性表回呼例程期間才支援此方法。
如需詳細資訊,請參閱 使用 GetOptions 和 SetOptions。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | prcomoem.h (包含 Prcomoem.h) |
另請參閱
IPrintOemUI::D evicePropertySheets