IMFMediaEvent::GetValue-Methode (mfobjects.h)

Ruft den wert ab, der dem Ereignis zugeordnet ist, falls vorhanden. Der Wert wird als PROPVARIANT-Struktur abgerufen. Der tatsächliche Datentyp und die Bedeutung des Werts hängen vom Ereignis ab.

Syntax

HRESULT GetValue(
  [out] PROPVARIANT *pvValue
);

Parameter

[out] pvValue

Zeiger auf eine PROPVARIANT-Struktur . Die Methode füllt diese Struktur mit den Daten aus.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.

Bemerkungen

Rufen Sie vor dem Aufrufen dieser Methode PropVariantInit auf, um die PROPVARIANT-Struktur zu initialisieren. Nachdem die Methode zurückgegeben wurde, rufen Sie PropVariantClear auf, um den Arbeitsspeicher freizugeben, der für die PROPVARIANT-Daten zugewiesen wurde.

Diese Schnittstelle ist auf den folgenden Plattformen verfügbar, wenn die redistributable-Komponenten des Windows Media Format 11 SDK installiert sind:

  • Windows XP mit Service Pack 2 (SP2) und höher.
  • Windows XP Media Center Edition 2005 mit KB900325 (Windows XP Media Center Edition 2005) und KB925766 (Oktober 2006 Updaterollup für Windows XP Media Center Edition) installiert.

Beispiele

Die folgende Funktion ruft den Ereigniswert ab, wenn der Wert ein IUnknown-Zeiger ist. Wenn der PROPVARIANT-Typ nicht VT_UNKOWN ist, gibt die Funktion MF_E_INVALIDTYPE zurück.

//  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;
}


Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mfobjects.h (enthalten Mfidl.h)
Bibliothek Mfuuid.lib

Weitere Informationen

IMFMediaEvent

Medienereignis-Generatoren