MÉTHODE IMFMediaEvent ::GetValue (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 |
Remarques
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 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és.
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
Condition requise | Valeur |
---|---|
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 |