Поделиться через


Метод IMFMediaEvent::GetValue (mfobjects.h)

Извлекает значение, связанное с событием , если оно имеется. Значение извлекается в виде структуры PROPVARIANT . Фактический тип данных и значение значения зависят от события.

Синтаксис

HRESULT GetValue(
  [out] PROPVARIANT *pvValue
);

Параметры

[out] pvValue

Указатель на структуру PROPVARIANT . Метод заполняет эту структуру данными.

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

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.

Комментарии

Перед вызовом этого метода вызовите 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

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

IMFMediaEvent

Генераторы событий мультимедиа