Windows 媒体格式 SDK 接口

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

以下两个表描述了此 SDK 支持的接口,并显示它们与对象和其他接口的关系。

接口 描述
INSNetSourceCreator 创建管理网络源 插件,该插件可用于缓存密码和查找代理服务器。
INSSBuffer 控制存储在缓冲区对象中的缓冲区。 此接口用于在此 SDK 中向/从方法传递示例。
INSSBuffer2 继承自 INSSBuffer。 此接口的新方法未记录,因为它们未在此版本中实现。
INSSBuffer3 设置和检索缓冲区属性。 在此 SDK 的传入或传出方法时,缓冲区属性用于传达缓冲区的信息。
INSSBuffer4 枚举缓冲区属性。
IReferenceClock 提供对标准引用时钟的访问权限。
IRMGetLicense 执行客户端许可证获取。
IWMAddressAccess 控制写入器网络接收器对象上的 IP 访问列表。
IWMAddressAccess2 将 IPv6 支持添加到 IWMAddressAccess 接口。
IWMAuthorizer 提供对证书的访问权限。
IWMBackupRestoreProps 设置、检索和删除 IWMLicenseBackupIWMLicenseRestore 接口所需的属性。
IWMBandwidthSharing 配置带宽共享对象。 带宽共享对象由配置文件对象创建,以指定流,无论其单个比特率如何,它们之间永远不会使用超过一定数量的带宽。
IWMClientConnections 检索有关连接到编写器网络接收器对象的客户端的信息。
IWMClientConnections2 检索连接到编写器网络接收器对象的客户端的高级信息。
IWMCodecAMVideoAccelerator 由 Windows 媒体解码器 DMO 公开,由媒体播放器的源筛选器调用,以设置启用 DirectX VA 以解码 Windows 媒体视频内容所需的各种连接。
IWMCodecInfo 检索系统上加载的受支持音频编解码器的可用格式。 在配置文件中创建音频流时使用这些格式。
IWMCodecInfo2 提供对编解码器的名称和每个编解码器支持的格式的说明的访问权限。
IWMCodecInfo3 提供对编解码器属性和音频格式属性的访问。 此外,还可以查询编解码器以获取功能支持。
IWMCodecVideoAccelerator 不支持此接口。 请改用 IWMCodecAMVideoAccelerator
IWMCredentialCallback 获取用户的凭据,并检查他们是否有权访问远程站点。
IWMDeviceRegistration 管理设备注册数据库,其中包含连接到本地网络的数字媒体播放设备的条目。
IWMDRMEditor 使应用程序能够在没有受保护内容的许可证的情况下检查 DRM 标头属性。
IWMDRMMessageParser 分析从数字媒体播放设备收到的消息。
IWMDRMReader 获取许可证、配置 DRM 属性,并个性化客户端。
IWMDRMReader2 读取使用 Windows 媒体权限管理器 10 SDK 创建的许可证。
IWMDRMReader3 通过提供一种方法来获取许可证批准的保护系统,从而启用内容听录。
IWMDRMTranscryptor 将受 DRM 保护的内容转换为可以使用 Windows 媒体 DRM 10 进行网络设备安全传输协议发送的数据流。
IWMDRMWriter 从编写器对象提供许可证创建功能。
IWMDRMWriter2 将编写器配置为接受流式处理示例,其中包含为流式传输到支持适用于网络设备的 Windows Media DRM 10 的设备的数据。
IWMDRMWriter3 启用加密流示例的写入,以便导入受保护的内容。
IWMGetSecureChannel 此接口由一个通信方用来获取另一方的 IWMSecureChannel 接口。
IWMHeaderInfo 管理标头信息,例如元数据、标记等。
IWMHeaderInfo2 提供对用于创建文件的编解码器的信息的访问权限。
IWMHeaderInfo3 提供属性语言支持和其他高级元数据功能。
IWMImageInfo 从文件中检索 ID3v2“APIC”帧。 应避免使用此接口,以支持 WM/Picture 属性。
IWMIndexer 提供手动为文件编制索引的方法。
IWMIndexer2 提供索引配置选项。
IWMInputMediaProps 管理输入媒体流的属性。
IWMIStreamProps 读取 IStream 对象的属性。
IWMLanguageList 管理 ASF 文件的语言列表。
IWMLicenseBackup 备份许可证,通常使它们可以还原到另一台计算机上。
IWMLicenseRestore 还原许可证。
IWMMediaProps 提供对流媒体类型结构的访问。
IWMMetadataEditor 为元数据编辑提供文件管理。
IWMMetadataEditor2 提供了一种改进的方法,用于打开文件以供元数据编辑器使用。
IWMMutualExclusion 配置相互排除对象。 互斥对象由配置文件对象创建,以指定一组互斥流。
IWMMutualExclusion2 添加对相互排除的分组和命名支持。
IWMOutputMediaProps 管理输出流的属性。
IWMPacketSize 管理 ASF 文件中数据包的最大大小。
IWMPacketSize2 管理 ASF 文件中数据包的最小大小。
IWMPlayerHook 由使用 DirectX 视频加速(DirectX VA)的播放器应用程序实现。 当视频流中的样本传递到已启用 DirectX VA 的视频卡进行解压缩时,它允许执行特定于应用程序的处理。
IWMPlayerTimestampHook 在玩家或玩家源筛选器上实现。 它使筛选器能够在将视频示例传送到下游之前修改视频样本上的时间戳。
IWMProfile 管理配置文件的创建和编辑。 配置文件描述文件的格式,例如流类型、比特率等。 大多数应用程序都使用现有配置文件,不需要实现此接口。
IWMProfile2 提供对配置文件 ID 的访问权限。
IWMProfile3 提供用于处理配置文件支持的带宽共享、流优先级和其他高级功能的方法。
IWMProfileManager 管理配置文件的加载和保存。
IWMProfileManager2 管理配置文件管理器对象使用的系统配置文件的版本号。
IWMProfileManagerLanguage 管理枚举系统配置文件的语言。
IWMPropertyVault 提供用于管理属性的标准化接口。
IWMProximityDetection 验证本地网络上的设备。 必须先验证设备,然后才能使用 Windows 媒体 DRM 10 接收网络设备安全传输协议的数据。
IWMReader 管理 ASF 文件的异步读取。
IWMReaderAccelerator 在 WM Reader 对象上实现。 由玩家或玩家源筛选器调用,从解码器 DMO获取接口。
IWMReaderAdvanced 提供读取器的高级功能,例如用户提供的时钟、缓冲区分配、返回统计信息和接收流选择通知。
IWMReaderAdvanced2 为现有读取器对象提供其他高级方法范围。
IWMReaderAdvanced3 为读取器对象提供其他高级方法。
IWMReaderAdvanced4 支持语言选择和其他高级阅读功能。
IWMReaderAdvanced5 使你能够将玩家挂钩回调接口与读取器对象相关联。
IWMReaderAdvanced6 启用示例保护。
IWMReaderAllocatorEx 提供 IWMReaderCallbackAdvanced 接口的 AllocateForOutputAllocateForStream 方法的扩展替代方法。
IWMReaderCallback 由应用程序实现,以提供有关当前读取作的示例和状态信息。
IWMReaderCallbackAdvanced (可选)由应用程序实现,以便向现有读取器回调对象提供高级功能。
IWMReaderNetworkConfig 管理网络配置设置。
IWMReaderNetworkConfig2 提供其他网络配置功能。
IWMReaderPlaylistBurn 确认将播放列表中的文件复制到 CD 的 DRM 权限。
IWMReaderStreamClock 用于在流时钟上设置和取消计时器,以及检索流时钟的当前值。
IWMReaderTimecode 提供有关文件中 SMPTE 时间代码的信息。
IWMReaderTypeNegotiation 提供一种方法,可用于测试流输出属性的某些更改是否正常工作。
IWMRegisterCallback 使应用程序能够从接收器对象获取状态消息。
IWMRegisteredDevice 提供对设备注册数据库中条目中的数据的访问权限。
IWMSBufferAllocator 提供用于在服务器上分配缓冲区的方法。
IWMSecureChannel 提供允许两个 DLL 相互验证和执行安全通信的方法
IWMSInternalAdminNetSource 管理密码缓存和代理位置。
IWMSInternalAdminNetSource2 提供比 IWMSInternalAdminNetSource更安全的密码缓存方法。
IWMSInternalAdminNetSource3 提供了一种改进的方法来查找代理服务器。
IWMStatusCallback 由应用程序实现以响应此 SDK 的多个对象的状态。
IWMStreamConfig 管理在配置文件中使用的流配置。
IWMStreamConfig2 提供其他流作方法。
IWMStreamConfig3 管理流的语言信息。
IWMStreamList 管理定义流之间的关系的各种对象。
IWMStreamPrioritization 提供配置流优先顺序对象的方法。
IWMSyncReader 提供使用同步调用读取文件的功能。
IWMSyncReader2 向同步读取器添加 SMPTE 时间代码支持。
IWMVideoMediaProps 管理视频流的属性。
IWMWatermarkInfo 提供对可用水印的访问。
IWMWriter 用作编写 ASF 文件的主接口。
IWMWriterAdvanced 为现有编写器对象提供高级功能。
IWMWriterAdvanced2 提供一些高级功能,特别是用于处理反交错的视频。
IWMWriterAdvanced3 提供详细编写器统计信息的方法。
IWMWriterFileSink 管理文件接收器对象。
IWMWriterFileSink2 提供对文件接收器对象的扩展管理。
IWMWriterFileSink3 进一步扩展文件接收器对象的功能。
IWMWriterNetworkSink 管理网络接收器对象。
IWMWriterPostView 管理编写器中示例的输出。 用于在编码过程中验证文件的编码内容。
IWMWriterPostViewCallback 由应用程序实现,用于从编写器接收 postview 示例。
IWMWriterPreprocess 管理多传递编码的设置。
IWMWriterPushSink 管理推送接收器对象。
IWMWriterSink 从编写器接口管理原始 Windows 媒体格式输入。 用作其他编写器接收器接口的基本接口。

 

下表显示了可从中获取实例的每个接口和对象的继承。

接口 继承自 对象
INSNetSourceCreator IUnknown 源创建者对象
INSSBuffer IUnknown Buffer 对象
INSSBuffer2 INSSBuffer Buffer 对象
INSSBuffer3 INSSBuffer2 Buffer 对象
INSSBuffer4 INSSBuffer3 Buffer 对象
IReferenceClock IUnknown Reader 对象
IWMAddressAccess IUnknown 编写器网络接收器对象
IWMAddressAccess2 IWMAddressAccess 编写器网络接收器对象
IWMBackupRestoreProps IUnknown 备份还原器对象
IWMBandwidthSharing IWMStreamList 带宽共享对象
IWMClientConnections IUnknown 编写器网络接收器对象
IWMClientConnections2 IWMClientConnections 编写器网络接收器对象
IWMCodecAMVideoAccelerator IUnknown Windows Media 解码器 DMO
IWMCodecInfo IUnknown 配置文件管理器对象
IWMCodecInfo2 IWMCodecInfo 配置文件管理器对象
IWMCodecInfo3 IWMCodecInfo2 配置文件管理器对象
IWMCredentialCallback IUnknown 由应用程序实现
IWMDRMEditor IUnknown 元数据编辑器对象
IWMDRMReader IUnknown Reader 对象
IWMDRMWriter IUnknown 编写器对象
IWMHeaderInfo IUnknown 元数据编辑器对象读取器对象同步读取器对象编写器对象
IWMHeaderInfo2 IWMHeaderInfo 元数据编辑器对象读取器对象同步读取器对象编写器对象
IWMHeaderInfo3 IWMHeaderInfo2 元数据编辑器对象读取器对象同步读取器对象编写器对象
IWMImageInfo IUnknown 元数据编辑器对象读取器对象同步读取器对象
IWMIndexer IUnknown Indexer 对象
IWMIndexer2 IWMIndexer Indexer 对象
IWMInputMediaProps IWMMediaProps 输入媒体属性对象
IWMIStreamProps IUnknown Stream 对象 (IStream
IWMLanguageList IUnknown 配置文件对象元数据编辑器对象读取器对象同步读取器对象编写器对象
IWMLicenseBackup IUnknown 备份还原器对象
IWMLicenseRestore IUnknown 备份还原器对象
IWMMediaProps IUnknown 输入媒体属性对象输出媒体属性对象流配置对象
IWMMetadataEditor IUnknown 元数据编辑器对象
IWMMetadataEditor2 IWMMetadataEditor 元数据编辑器对象
IWMMutualExclusion IWMStreamList 互斥对象
IWMMutualExclusion2 IWMMutualExclusion 互斥对象
IWMOutputMediaProps IUnknown 输出媒体属性对象
IWMPacketSize IUnknown 配置文件管理器对象
IWMPacketSize2 IWMPacketSize 配置文件管理器对象
IWMPlayerHook IUnknown 由应用程序实现
IWMPlayerTimestampHook IUnknown 源筛选器
IWMProfile IUnknown 配置文件对象
IWMProfile2 IWMProfile 配置文件对象
IWMProfile3 IWMProfile2 配置文件对象
IWMProfileManager IUnknown 配置文件管理器对象
IWMProfileManager2 IWMProfileManager 配置文件管理器对象
IWMProfileManagerLanguage IUnknown 配置文件管理器对象
IWMPropertyVault IUnknown 流配置对象
IWMReader IUnknown Reader 对象
IWMReaderAccelerator IUnknown Reader 对象
IWMReaderAdvanced IUnknown Reader 对象
IWMReaderAdvanced2 IWMReaderAdvanced Reader 对象
IWMReaderAdvanced3 IWMReaderAdvanced2 Reader 对象
IWMReaderAdvanced4 IWMReaderAdvanced3 Reader 对象
IWMReaderAllocatorEx IUnknown 由应用程序实现
IWMReaderCallback IWMStatusCallback 由应用程序实现
IWMReaderCallbackAdvanced IUnknown 由应用程序实现
IWMReaderNetworkConfig IUnknown Reader 对象
IWMReaderNetworkConfig2 IWMReaderNetworkConfig Reader 对象
IWMReaderStreamClock IUnknown Reader 对象
IWMReaderTimecode IUnknown Reader 对象
IWMReaderTypeNegotiation IUnknown Reader 对象
IWMRegisterCallback IUnknown 由应用程序实现
IWMSBufferAllocator IUnknown 由网络服务器实现
IWMSInternalAdminNetSource IUnknown 网络源管理员对象
IWMSInternalAdminNetSource2 IWMSInternalAdminNetSource 网络源管理员对象
IWMSInternalAdminNetSource3 IWMSInternalAdminNetSource2 网络源管理员对象
IWMStatusCallback IUnknown 由应用程序实现
IWMStreamConfig IUnknown 流配置对象
IWMStreamConfig2 IWMStreamConfig 流配置对象
IWMStreamConfig3 IWMStreamConfig2 流配置对象
IWMStreamList IUnknown 带宽共享对象互斥对象
IWMStreamPrioritization IUnknown 流优先级对象
IWMSyncReader IUnknown 同步读取器对象
IWMSyncReader2 IWMSyncReader 同步读取器对象
IWMVideoMediaProps IWMMediaProps 流配置对象
IWMWatermarkInfo IUnknown 编写器对象
IWMWriter IUnknown 编写器对象
IWMWriterAdvanced IUnknown 编写器对象
IWMWriterAdvanced2 IWMWriterAdvanced 编写器对象
IWMWriterAdvanced3 IWMWriterAdvanced2 编写器对象
IWMWriterFileSink IWMWriterSink 写入器文件接收器对象
IWMWriterFileSink2 IWMWriterFileSink 写入器文件接收器对象
IWMWriterFileSink3 IWMWriterFileSink2 写入器文件接收器对象
IWMWriterNetworkSink IWMWriterSink 编写器网络接收器对象
IWMWriterPostView IUnknown 编写器对象
IWMWriterPostViewCallback IUnknown 由应用程序实现
IWMWriterPreprocess IUnknown 编写器对象
IWMWriterPushSink IWMWriterSink 编写器推送接收器对象
IWMWriterSink IUnknown 编写器文件接收器对象编写器网络接收器对象编写器推送接收器对象

 

言论

此 SDK 中每个接口的接口标识符是前面有“IID_”的接口的名称。 例如,IWMReaderAdvanced 接口的标识符IID_IWMReaderAdvanced。 若要获取指向读取器对象的 IWMReaderAdvanced 接口的指针,请使用以下代码,其中 pReader 是指向 IWMReader 接口的指针:

IWMReaderAdvanced *pReaderAdvanced;
hr = pReader->QueryInterface(IID_IWMReaderAdvanced,
                             (LPVOID*) &pReaderAdvanced);

对象

编程参考