Condividi tramite


Metodo IMFMediaEvent::GetValue (mfobjects.h)

Recupera il valore associato all'evento, se presente. Il valore viene recuperato come struttura PROPVARIANT . Il tipo di dati effettivo e il significato del valore dipendono dall'evento.

Sintassi

HRESULT GetValue(
  [out] PROPVARIANT *pvValue
);

Parametri

[out] pvValue

Puntatore a una struttura PROPVARIANT . Il metodo riempie questa struttura con i dati.

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.

Commenti

Prima di chiamare questo metodo, chiamare PropVariantInit per inizializzare la struttura PROPVARIANT . Dopo aver restituito il metodo, chiamare PropVariantClear per liberare la memoria allocata per i dati PROPVARIANT .

Questa interfaccia è disponibile nelle piattaforme seguenti se i componenti ridistribuibili di Windows Media Format 11 SDK sono installati:

  • Windows XP con Service Pack 2 (SP2) e versioni successive.
  • Windows XP Media Center Edition 2005 con KB900325 (Windows XP Media Center Edition 2005) e KB925766 (aggiornamento cumulativo di ottobre 2006 per Windows XP Media Center Edition) installato.

Esempio

La funzione seguente ottiene il valore dell'evento se il valore è un puntatore IUnknown . Se il tipo PROPVARIANT non è VT_UNKOWN, la funzione restituisce 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;
}


Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione mfobjects.h (include Mfidl.h)
Libreria Mfuuid.lib

Vedi anche

FMMediaEvent

Generatori di eventi multimediali