对象 (Windows Media Format 11 SDK)

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

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

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

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

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

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

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

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

对象 说明 创建方法
带宽共享 管理配置文件中的带宽共享信息。 一个配置文件可能有多个带宽共享对象。 创建带宽共享对象的方法有多种,具体取决于是要创建新的带宽共享对象还是访问现有带宽共享对象。 IWMProfile3::CreateNewBandwidthSharing
IWMProfile3::GetBandwidthSharing
Buffer 包含媒体示例和任何关联的数据单元扩展。 用于编写和读取示例。 IWMWriter::AllocateSample
IWMReaderAllocatorEx::AllocateForOutputEx
OR
IWMReaderAllocatorEx::AllocateForStreamEx
OR
由读取器对象或同步读取器对象自动创建,用于示例传送。
输入媒体属性 管理输入的属性。 每个输入可以存在一个输入属性对象。 IWMWriter::GetInputProps
互斥 管理配置文件中的互斥信息。 互斥的常见用途是多种语言的多个比特率内容和配乐。 创建互斥对象的方法有多种,具体取决于是要创建新的互斥对象还是访问现有的互斥对象。 IWMProfile::CreateNewMutualExclusion
IWMProfile::GetMutualExclusion
输出媒体属性 管理输出的属性。 每个输出可以存在一个输出媒体属性对象。 这些对象可由读取器或同步读取器创建 IWMReader::GetOutputProps
IWMSyncReader::GetOutputProps
Profile 包含正在操作的配置文件中的数据。 每当需要操作配置文件时,都会创建配置文件对象。 创建配置文件对象的方法各不相同,具体取决于是要创建新配置文件还是访问现有配置文件。 IWMProfileManager::CreateEmptyProfile
IWMProfileManager::LoadProfileByData
OR
IWMProfileManager::LoadProfileByID
OR
IWMProfileManager::LoadSystemProfile
流配置 管理配置文件中流的属性。 每当需要访问有关流的信息时,流配置对象都是由流对象创建的。 创建流配置对象的方法各不相同,具体取决于是要创建新流还是访问以及现有流。 IWMProfile::CreateNewStream
IWMProfile::GetStream
OR
IWMProfile::GetStreamByNumber
流优先级 维护配置文件的流优先级列表。 如果可用带宽受到限制,则流将按优先级递增的顺序删除。 配置文件中只能有一个流优先级对象。 IWMProfile3::CreateNewStreamPrioritization

编程参考