IMFAttributes::CopyAllItems 方法 (mfobjects.h)

將所有屬性從這個物件複製到另一個屬性存放區。

語法

HRESULT CopyAllItems(
  [in] IMFAttributes *pDest
);

參數

[in] pDest

接收複本之屬性存放區之 IMFAttributes 介面的指標。

傳回值

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

這個方法會刪除原本儲存在 pDest 中的所有屬性。

注意  

當您在 IMFSample 上呼叫 CopyAllItems 時,此方法繼承此方法時,不會將範例時間、持續時間和旗標複製到目的地範例。 您必須手動將這些值複製到新的範例。

 
如果已安裝 Windows Media Format 11 SDK 可轉散發元件,此介面可在下列平臺上使用:
  • Windows XP with Service Pack 2 (SP2) 和更新版本。
  • 已安裝 Windows XP Media Center Edition 2005 KB900325 (Windows XP Media Center 版本 2005) 和 KB925766 (2006 年 10 月更新匯總) 。

範例

若要複製單一屬性,而不是所有屬性,您可以使用下列程式代碼:

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 (include Mfidl.h)
程式庫 Mfuuid.lib

另請參閱

屬性和屬性

IMFAttributes