IMFAttributes::CopyAllItems 方法 (mfobjects.h)
将此对象中的所有属性复制到另一个属性存储中。
语法
HRESULT CopyAllItems(
[in] IMFAttributes *pDest
);
参数
[in] pDest
指向接收副本的属性存储的 IMFAttributes 接口的指针。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
此方法删除最初存储在 pDest 中的所有属性。
注意
在继承此方法的 IMFSample 上调用 CopyAllItems 时,不会将示例时间、持续时间和标志复制到目标示例。 必须手动将这些值复制到新示例。
- 具有 Service Pack 2 的 Windows XP (SP2) 及更高版本。
- Windows XP Media Center Edition 2005 KB900325 (Windows XP Media Center Edition 2005) 和安装KB925766 (2006 年 10 月更新汇总的 Windows XP Media Center Edition) 。
示例
若要复制单个属性而不是所有属性,可以使用以下代码:
HRESULT CopyAttribute(IMFAttributes *pFrom, IMFAttributes *pTo, REFGUID guidKey)
{
PROPVARIANT val;
HRESULT hr = pFrom->GetItem(guidKey, &val);
if (SUCCEEDED(hr))
{
hr = pTo->SetItem(guidKey, val);
PropVariantClear(&val);
}
else if (hr == MF_E_ATTRIBUTENOTFOUND)
{
hr = S_OK;
}
return hr;
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | mfobjects.h (包括 Mfidl.h) |
Library | Mfuuid.lib |