CMediaControl 类

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

cmediacontrol 类层次结构

CMediaControl提供双接口 IMediaControlIDispatch 方法的基类处理。 它将 IMediaControl 接口的属性和方法保留为纯虚拟。

通常,筛选器图管理器是唯一实现 IMediaControl 接口的对象。 (筛选器实现 IMediaFilter 接口(由 IBaseFilter 继承)以接收来自筛选器图管理器的控制命令。) 因此,此类库对筛选器开发人员的用途有限。

CMediaControl::GetIDsOfNamesCMediaControl::GetTypeInfoCMediaControl::GetTypeInfoCountCMediaControl::Invoke 成员函数是 IDispatch 方法的标准实现,使用 CBaseDispatch 类 (和类型库) 分析命令并将其传递给 IMediaControl 接口的纯虚拟方法。

control.odl 中定义的 IMediaControl 方法保留为纯虚拟方法。

成员函数 说明
CMediaControl 构造 CMediaControl 对象。
IDispatch 方法 说明
GetIDsOfNames 将单个成员和一组可选参数映射到一组相应的整数调度标识符 (DISPID) ,这些标识符可在后续调用 CMediaControl::Invoke 方法期间使用。
GetTypeInfo 检索类型信息对象,该对象可以检索接口的类型信息。
GetTypeInfoCount 检索对象提供的类型信息接口数。
调用 提供对某一对象公开的属性和方法的访问。