IMFAttributes::CopyAllItems 方法 (mfobjects.h)

将此对象中的所有属性复制到另一个属性存储中。

语法

HRESULT CopyAllItems(
  [in] IMFAttributes *pDest
);

参数

[in] pDest

指向接收副本的属性存储的 IMFAttributes 接口的指针。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

此方法删除最初存储在 pDest 中的所有属性。

注意  

在继承此方法的 IMFSample 上调用 CopyAllItems 时,不会将示例时间、持续时间和标志复制到目标示例。 必须手动将这些值复制到新示例。

 
如果安装了 Windows Media Format 11 SDK 可再发行组件,则此接口在以下平台上可用:
  • 具有 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

另请参阅

属性和属性

IMFAttributes