Метод IMFAttributes::CopyAllItems (mfobjects.h)

Копирует все атрибуты из этого объекта в другое хранилище атрибутов.

Синтаксис

HRESULT CopyAllItems(
  [in] IMFAttributes *pDest
);

Параметры

[in] pDest

Указатель на интерфейс IMFAttributes хранилища атрибутов, получающего копию.

Возвращаемое значение

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Этот метод удаляет все атрибуты, хранящиеся в pDest.

Примечание  

При вызове CopyAllItems в файле IMFSample, который наследует этот метод, время выборки, длительность и флаги не копируются в целевой пример. Эти значения необходимо скопировать в новый пример вручную.

 
Этот интерфейс доступен на следующих платформах, если установлены распространяемые компоненты пакета SDK для Windows Media Format 11:
  • Windows XP с пакетом обновления 2 (SP2) и более поздних версий.
  • Windows XP Media Center Edition 2005 с установленным KB900325 (Windows XP Media Center Edition 2005) и KB925766 (накопительный пакет обновления за октябрь 2006 г. для 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
Header mfobjects.h (включая Mfidl.h)
Библиотека Mfuuid.lib

См. также раздел

Атрибуты и свойства

IMFAttributes