IPrintCorePS2::EnumOptions 方法 (prcomoem.h)

方法 IPrintCorePS2::EnumOptions 會列舉特定功能的可用選項。

語法

HRESULT EnumOptions(
  [in]  PDEVOBJ pdevobj,
  [in]  DWORD   dwFlags,
  [in]  PCSTR   pszFeatureKeyword,
  [out] PSTR    pmszOptionList,
  [in]  DWORD   cbSize,
  [out] PDWORD  pcbNeeded
);

參數

[in] pdevobj

DEVOBJ 結構的指標。

[in] dwFlags

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

[in] pszFeatureKeyword

呼叫端提供的緩衝區指標,其中包含 ASCII 字串,並指定要求其選項的功能關鍵詞。

[out] pmszOptionList

呼叫端提供的緩衝區指標,該緩衝區會以MULTI_SZ格式接收以 Null 分隔的清單,其中包含 pszFeatureKeyword 所指向之功能關鍵詞的選項關鍵詞。 此清單會以兩個 Null 字元終止。

將此參數設定為 NULL ,只要查詢選項清單的大小 (*azureNeeded) ,而不需要填入清單。

[in] cbSize

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

[out] pcbNeeded

接收所要求數據之實際大小的記憶體位置指標,以位元組為單位。

傳回值

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

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

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

E_INVALIDARG
pszFeatureKeyword 所指向的字串不是辨識的功能。

pdevobj 參數指向無效的驅動程序內容物件。

E_NOTIMPL
僅限 Pscript ()

目前組態不支援 Pscript5 驅動程式功能。

目前組態支援 Pscript5 驅動程式功能,但 Pscript5 驅動程式功能的選項無法列舉。

E_FAIL
方法失敗。

備註

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

任何 Pscript5 轉譯外掛程式都支援此方法。

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

規格需求

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

另請參閱

DEVOBJ

IPrintCorePS2

IPrintCorePS2::EnumFeatures