相互排除对象

[与此页面关联的功能 Windows Media Format 11 SDK 是旧版功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用源读取器和接收器编写器,而不是 Windows Media Format 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

互斥对象用于指定多个流,一次只能传递一个流。 这可以通过多种方式使用,例如提供多种语言的音频流作为一个视频流的配乐。

相互排斥是配置文件的可选部分。 可以为配置文件中的现有互斥信息创建互斥对象,也可以创建空对象,以便接收新数据。 互斥对象不能独立于配置文件对象存在。 若要保存互斥对象的内容,必须调用 IWMProfile::AddMutualExclusion

若要创建互斥对象,请使用以下方法之一。

方法 描述
IWMProfile::CreateNewMutualExclusion 创建不带任何数据的互斥对象。
IWMProfile::GetMutualExclusion 创建使用配置文件中的数据填充的互斥对象。 使用互斥索引来标识所需的互斥信息。

 

上表中的两种方法都设置指向 IWMMutualExclusion 接口的 指针。 IWMStreamList 接口由 IWMMutualExclusion 继承,无需直接访问。 可以通过调用 QueryInterface 方法获取互斥对象的另一个接口。

每个互斥对象都支持以下接口。

接口 描述
IWMMutualExclusion 设置并检索要使用的互斥类型。
IWMMutualExclusion2 将流组织成记录,这些记录可用于创建复杂的互斥方案。 继承 IWMMutualExclusion 的所有方法。
IWMStreamList 管理互斥流的列表。

 

互斥

对象

配置文件管理器对象