对象(Windows 媒体格式 11 SDK)

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

Windows 媒体格式 SDK 使用多个对象读取、写入、编辑和索引 ASF 文件,以及创建和编辑配置文件。 每个对象支持多个接口。 多个对象支持某些接口。 在这些情况下,接口的参考部分将讨论实现中的任何差异。

Windows 媒体格式 SDK 中的对象符合 COM。 为了简化开发,每个对象都有关联的创建函数或方法。 应使用创建函数或方法创建对象,而不是手动使用 COM 函数 CoCreateInstance

某些接口的名称追加了一个数字,例如 IWMProfile2IWMWriter3。 在每种情况下,编号的版本都继承早期版本的所有方法并添加新功能。

在此引用的每个对象页上,将首先列出主 COM 对象中包含的接口,后跟应用程序必须实现的回调接口。

下表列出了此 SDK 支持的对象,其中描述了每个 SDK 的功能以及用于创建它的函数。

对象 描述 创建函数
备份还原器 将许可证备份到可移动媒体上,然后将这些许可证还原到其他计算机上。 WMCreateBackupRestorer
设备注册 管理设备注册数据库,其中包含通过网络连接提供的媒体播放设备的条目。 WMCreateDeviceRegistration
DRM Transcryptor 将受 DRM 保护的媒体数据转换为数据流,该数据流可以发送到使用 Windows Media DRM 10 进行网络设备协议的设备。 WMCreateDRMTranscryptor
索引器 为 ASF 文件创建索引,以允许使用视频流在文件中查找。 WMCreateIndexer
许可证吊销代理 管理许可证吊销。 WMCreateLicenseRevocationAgent
元数据编辑器 编辑 ASF 文件标头中的元数据。 WMCreateEditor
配置文件管理器 提供用于创建、加载和保存配置文件的接口。 编写 ASF 文件需要配置文件。 WMCreateProfileManager
读者 读取 ASF 文件。 此对象对其作使用异步调用模型。 WMCreateReader
同步读取器 使用同步调用读取 ASF 文件。 WMCreateSyncReader
编写器 写入 ASF 文件。 WMCreateWriter
编写器文件接收器 控制编写器对象编写的 ASF 文件。 WMCreateWriterFileSink
编写器网络接收器 控制编写器对象编写的 ASF 文件的实时网络流式传输。 WMCreateWriterNetworkSink
编写器推送接收器 控制将流内容传送到发布服务器。 WMCreateWriterPushSink

下表列出了依赖于其他对象的对象。 这些对象由现有对象的方法创建。

对象 描述 创建方法
带宽共享 管理配置文件中的带宽共享信息。 配置文件可能有多个带宽共享对象。 创建带宽共享对象的方法有所不同,具体取决于是要创建新的带宽共享对象还是访问现有带宽共享对象。 IWMProfile3::CreateNewBandwidthSharingOR
IWMProfile3::GetBandwidthSharing
缓冲区 包含媒体示例和任何关联的数据单元扩展。 用于编写和阅读示例。 IWMWriter::AllocateSampleOR
IWMReaderAllocatorEx::AllocateForOutputEx

IWMReaderAllocatorEx::AllocateForStreamEx

由读取器对象或同步读取器对象自动创建以供示例传送。
输入媒体属性 管理输入的属性。 每个输入都可以存在一个输入属性对象。 IWMWriter::GetInputProps
相互排斥 管理配置文件中的相互排除信息。 相互排斥的常见用途是多种语言的多个比特率内容和配乐。 创建相互排除对象的方法有所不同,具体取决于是要创建新的互斥对象还是访问现有对象。 IWMProfile::CreateNewMutualExclusionOR
IWMProfile::GetMutualExclusion
输出媒体属性 管理输出的属性。 每个输出可以存在一个输出媒体属性对象。 这些对象可由读取器或同步读取器创建 IWMReader::GetOutputPropsOR
IWMSyncReader::GetOutputProps
配置文件 包含正在作的配置文件中的数据。 每当需要作配置文件时,都会创建配置文件对象。 创建配置文件对象的方法有所不同,具体取决于是要创建新配置文件还是访问现有配置文件。 IWMProfileManager::CreateEmptyProfileOR
IWMProfileManager::LoadProfileByData

IWMProfileManager::LoadProfileByID

IWMProfileManager::LoadSystemProfile
流配置 管理配置文件中流的属性。 每当需要访问流的相关信息时,流配置对象都是由流对象创建的。 创建流配置对象的方法有所不同,具体取决于是要创建新流还是访问和现有流。 IWMProfile::CreateNewStreamOR
IWMProfile::GetStream

IWMProfile::GetStreamByNumber
流优先级 维护配置文件的流优先级列表。 如果限制可用带宽,流将按增加优先级的顺序删除。 配置文件中只能有一个流优先顺序对象。 IWMProfile3::CreateNewStreamPrioritization

编程参考