IPrintCoreUI2::EnumFeatures 方法 (prcomoem.h)

IPrintCoreUI2::EnumFeatures方法會列舉印表機的可用功能。

語法

HRESULT EnumFeatures(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [out] PZZSTR    pmszFeatureList,
  [in]  DWORD     cbSize,
  [out] PDWORD    pcbNeeded
);

參數

[in] poemuiobj

目前內容的指標, OEMUIOBJ 結構。

[in] dwFlags

為保留,且必須設定為零。

[out] pmszFeatureList

呼叫端提供的緩衝區指標,該緩衝區會以MULTI_SZ格式接收以 Null 分隔的功能關鍵詞清單。 清單會以兩個 Null 字元終止。

將此參數設定為 NULL ,只要查詢功能清單的大小 (*) *) ,而不填入清單即可。

[in] cbSize

指定 pmszFeatureList 所指向緩衝區的大小,以位元組為單位。

[out] pcbNeeded

記憶體位置的指標,該位置會接收功能清單的實際大小,以位元組為單位。

傳回值

這個方法必須傳回下列其中一個值。

傳回碼 描述
S_OK
此方法已成功。
E_OUTOFMEMORY
cbSize 中的值小於要寫入輸出緩衝區的位元元組數目, (pmszFeatureList 所指向的緩衝區) 。

方法已呼叫, 並將 pmszFeatureList 設定為 NULL

E_INVALIDARG
poemuiobj 參數指向無效的內容物件。
E_FAIL
方法失敗

備註

只有 Windows XP Pscript5 外掛程式才支援這個方法,不適用於 Unidrv 外掛程式。

印表機黏性 功能 (請參閱 取代 Driver-Supplied 屬性表頁面) ,例如決定可安裝記憶體和選擇性配件的元件,包含在功能關鍵詞清單中,當方法傳回時, 會出現在 pmszFeatureList 所指向的輸出緩衝區中。 針對 Pscript5,這類功能會將 OpenGroupType 功能屬性設定為 “InstallableOptions”。

若要減少每個數據存取兩次呼叫的需求,請將固定大小的輸出緩衝區傳遞 (1 KB,例如) ,然後檢查函式傳回值。 如果方法傳回S_OK,則緩衝區已經包含感興趣的數據。 如果方法傳回E_OUTOFMEMORY,則 *azureNeeded 中的值是保存感興趣的數據所需的緩衝區大小。 接著,呼叫端應該配置該較大大小的緩衝區,然後繼續進行方法的第二次呼叫。

如需詳細資訊,請參閱 使用 EnumFeatures

規格需求

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

另請參閱

IPrintCoreUI2

IPrintCoreUI2::EnumOptions

OEMUIOBJ