Share via


Método IMFMediaEvent::GetValue (mfobjects.h)

Recupera el valor asociado al evento, si existe. El valor se recupera como una estructura PROPVARIANT . El tipo de datos real y el significado del valor dependen del evento.

Sintaxis

HRESULT GetValue(
  [out] PROPVARIANT *pvValue
);

Parámetros

[out] pvValue

Puntero a una estructura PROPVARIANT . El método rellena esta estructura con los datos.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.

Comentarios

Antes de llamar a este método, llame a PropVariantInit para inicializar la estructura PROPVARIANT . Una vez devuelto el método, llame a PropVariantClear para liberar la memoria que se asignó para los datos PROPVARIANT .

Esta interfaz está disponible en las siguientes plataformas si se instalan los componentes redistribuibles del SDK de Windows Media Format 11:

  • Windows XP con Service Pack 2 (SP2) y versiones posteriores.
  • Windows XP Media Center Edition 2005 con KB900325 (Windows XP Media Center Edition 2005) y KB925766 (paquete acumulativo de actualizaciones de octubre de 2006 para Windows XP Media Center Edition) instalados.

Ejemplos

La siguiente función obtiene el valor del evento si el valor es un puntero IUnknown . Si el tipo PROPVARIANT no se VT_UNKOWN, la función devuelve 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;
}


Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado mfobjects.h (include Mfidl.h)
Library Mfuuid.lib

Consulte también

IMFMediaEvent

Generadores de eventos multimedia