共用方式為


CBaseDispatch.GetIDsOfNames 方法

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

方法會將 GetIDsOfNames 一組名稱對應至一組對應的 DISPID。

語法

HRESULT GetIDsOfNames(
   REFIID  riid,
   OLECHAR **rgszNames,
   UINT    cNames,
   LCID    lcid,
   DISPID  *rgdispid
);

參數

riid

指定介面的介面識別碼 (IID) 參考。

rgszNames

包含要對應之名稱的寬字元字串陣列位址。

cNames

rgszNames參數所指定的陣列大小。

lcid

用來解譯名稱的地區設定內容。 可以是 Null

rgdispid

接收 DISPID 之陣列的指標。 的每個元素都會接收一個識別碼,該識別碼對應至 rgszNames 參數中傳遞的其中一個名稱。

傳回值

傳回 HRESULT 值。 可能的值如下。

傳回碼 描述
S_OK
成功。
E_OUTOFMEMORY
記憶體不足。
DISP_E_UNKNOWNNAME
不知道一或多個名稱。

備註

這個方法的行為與 IDispatch::GetIDsOfNames 方法類似,但 riid 參數會指定要擷取 DISPID 的介面。 (在 IDispatch 版本中, riid 參數是 reserved.)

如果方法傳回DISP_E_UNKNOWNNAME,則傳回的 DISPID 會針對對應至未知名稱的每個專案包含DISPID_UNKNOWN。

規格需求

需求
標頭
Ctlutil.h (包含 Streams.h)
程式庫
Strmbase.lib (零售組建) ;
Strmbasd.lib (偵錯組建)

另請參閱

CBaseDispatch 類別