IMFMediaEvent::GetValue, méthode (mfobjects.h)

Récupère la valeur associée à l’événement, le cas échéant. La valeur est récupérée en tant que structure PROPVARIANT . Le type de données réel et la signification de la valeur dépendent de l’événement.

Syntaxe

HRESULT GetValue(
  [out] PROPVARIANT *pvValue
);

Paramètres

[out] pvValue

Pointeur vers une structure PROPVARIANT . La méthode remplit cette structure avec les données.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK

Notes

Avant d’appeler cette méthode, appelez PropVariantInit pour initialiser la structure PROPVARIANT . Une fois la méthode retournée, appelez PropVariantClear pour libérer la mémoire allouée aux données PROPVARIANT .

Cette interface est disponible sur les plateformes suivantes si les composants redistribuables du Kit de développement logiciel (SDK) Windows Media Format 11 sont installés :

  • Windows XP avec Service Pack 2 (SP2) et versions ultérieures.
  • Windows XP Media Center Edition 2005 avec KB900325 (Windows XP Media Center Edition 2005) et KB925766 (correctif cumulatif d’octobre 2006 pour Windows XP Media Center Edition) installé.

Exemples

La fonction suivante obtient la valeur d’événement si la valeur est un pointeur IUnknown . Si le type PROPVARIANT n’est pas VT_UNKOWN, la fonction retourne 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;
}


Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête mfobjects.h (include Mfidl.h)
Bibliothèque Mfuuid.lib

Voir aussi

IMFMediaEvent

Générateurs d’événements multimédias