Метод IMFMediaEvent::GetValue (mfobjects.h)
Извлекает значение, связанное с событием , если оно имеется. Значение извлекается в виде структуры PROPVARIANT . Фактический тип данных и значение значения зависят от события.
Синтаксис
HRESULT GetValue(
[out] PROPVARIANT *pvValue
);
Параметры
[out] pvValue
Указатель на структуру PROPVARIANT . Метод заполняет эту структуру данными.
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
Комментарии
Перед вызовом этого метода вызовите PropVariantInit , чтобы инициализировать структуру PROPVARIANT . После возврата метода вызовите PropVariantClear , чтобы освободить память, выделенную для данных PROPVARIANT .
Этот интерфейс доступен на следующих платформах, если установлены распространяемые компоненты пакета 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).
Примеры
Следующая функция получает значение события, если значение является указателем IUnknown . Если тип PROPVARIANT не VT_UNKOWN, функция возвращает MF_E_INVALIDTYPE.
// Gets an IUnknown pointer from an IMFMediaEvent event and queries
// the pointer for a specified interface.
//
// NOTE: Applies only to events that contain IUnknown pointers.
// Otherwise, the function returns MF_E_INVALIDTYPE.
template <class Q>
HRESULT GetEventObject(IMFMediaEvent *pEvent, Q **ppObject)
{
*ppObject = NULL; // zero output
PROPVARIANT var;
HRESULT hr = pEvent->GetValue(&var);
if (SUCCEEDED(hr))
{
if (var.vt == VT_UNKNOWN)
{
hr = var.punkVal->QueryInterface(ppObject);
}
else
{
hr = MF_E_INVALIDTYPE;
}
PropVariantClear(&var);
}
return hr;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mfobjects.h (включая Mfidl.h) |
Библиотека | Mfuuid.lib |