IPersistMediaPropertyBag::Load 方法 (strmif.h)

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

方法 Load 将媒体属性包中的属性加载到筛选器中。

语法

HRESULT Load(
  [in] IMediaPropertyBag *pPropBag,
  [in] IErrorLog         *pErrorLog
);

参数

[in] pPropBag

指向调用方创建的媒体属性包的 IMediaPropertyBag 接口的指针。

[in] pErrorLog

保留。 将值设置为 NULL

返回值

返回 HRESULT 值。 可能的值如下所示:

返回代码 说明
S_OK
成功。
E_POINTER
NULL 指针参数。
STG_E_ACCESSDENIED
访问被拒绝。
VFW_E_WRONG_STATE
筛选器图未处于停止状态。

注解

AVI 复用器 筛选器上调用此方法,将属性写入 AVI 流。 在筛选器停止时调用 方法,然后再运行筛选器图来创作文件。 当图形运行时,筛选器会将 INFO 区块写入 AVI 标头。

下面的代码示例将 IART (作者姓名) INFO 区块添加到文件中:

C++
IPersistMediaPropertyBag *pPersist = NULL;IMediaPropertyBag *pBag = NULL;VARIANT val;

查询 IPersistMediaPropertyBag 的 AVI Mux 筛选器 (未显示) 。

CoCreateInstance (CLSID_MediaPropertyBag、NULL、CLSCTX_INPROC、IID_IMediaPropertyBag、 (LPVOID *) &pBag) ;

val.vt = VT_BSTR; val.bstrVal = SysAllocString(OLESTR("Author Name")); pBag->Write(OLESTR("INFO/IART"), &val); pPersist->Load(pBag, NULL); VariantClear(&val);

AVI 拆分器筛选器和 WAVE 分析器不支持此方法。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 strmif.h (包括 Dshow.h)
Library Strmiids.lib

另请参阅

错误和成功代码

IPersistMediaPropertyBag 接口