CMediaControl.GetIDsOfNames 方法

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

将单个成员函数和一组可选参数映射到一组相应的整数调度标识符 (DISPID) ,这些标识符可在后续调用 CMediaControl::Invoke 成员函数时使用。

语法

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

参数

riid

引用标识符。 保留供将来使用。 必须为 NULL

rgszNames

指向要映射的传入名称数组的指针的地址。

cNames

要映射的名称的计数。

lcid

用于解释名称的区域设置上下文。

rgdispid

指向调用方分配的数组的指针,该数组的每个元素都包含与 rgszNames 数组中传递的名称之一对应的 ID。 第一个元素表示成员名称;后续元素表示成员的每个参数。

返回值

返回以下值之一。

返回代码 说明
DISP_E_UNKNOWN_CLSID
无法识别 CLSID。
DISP_E_UNKNOWNNAME
一个或多个名称未知。 返回的 DISPID 包含对应于未知名称的每个条目的DISPID_UNKNOWN。
E_OUTOFMEMORY
内存不足。
S_OK
成功。

要求

要求
标头
Ctlutil.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

CMediaControl 类