Метод IMFAttributes::CopyAllItems (mfobjects.h)
Копирует все атрибуты из этого объекта в другое хранилище атрибутов.
Синтаксис
HRESULT CopyAllItems(
[in] IMFAttributes *pDest
);
Параметры
[in] pDest
Указатель на интерфейс IMFAttributes хранилища атрибутов, получающего копию.
Возвращаемое значение
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Этот метод удаляет все атрибуты, хранящиеся в pDest.
При вызове CopyAllItems в файле IMFSample, который наследует этот метод, время выборки, длительность и флаги не копируются в целевой пример. Эти значения необходимо скопировать в новый пример вручную.
- 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 |