Méthode ICodecAPI ::RegisterForEvent (strmif.h)
[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]
La méthode RegisterForEvent inscrit l’application pour recevoir les événements du codec.
Syntaxe
HRESULT RegisterForEvent(
[in] const GUID *Api,
[out] LONG_PTR userData
);
Paramètres
[in] Api
Pointeur vers un GUID qui spécifie l’événement. Il existe trois catégories d’événements :
Valeur | Signification |
---|---|
|
Le codec avertit l’application lorsque les propriétés du codec changent. Les données d’événement sont une liste de GUID pour les propriétés qui ont été modifiées. |
|
Le codec avertit l’application lorsque la propriété spécifiée change. En règle générale, un codec prend en charge ce type de notification pour un ensemble limité de propriétés, le cas échéant. |
|
Dépendant de l'implémentation. |
[out] userData
Pointeur vers les données définies par l’appelant. L’application reçoit ce pointeur dans le paramètre d’événement lParam1 .
Valeur retournée
Cette méthode peut retourner l’une de ces valeurs.
Code de retour | Description |
---|---|
|
S_OK |
|
Non implémenté. Le codec ne prend pas en charge la notification d’événement ou ne prend pas en charge le GUID d’événement spécifié dans le paramètre Api . |
Remarques
L’application reçoit une notification d’événement EC_CODECAPI_EVENT chaque fois que le codec de l’encodeur envoie l’événement. Pour obtenir l’événement, utilise l’interface IMediaEventEx .
Le paramètre lParam2 de l’événement est un pointeur vers une structure CodecAPIEventData . Cette structure peut être suivie de données supplémentaires, en fonction du GUID d’événement. La taille de ces données est donnée par le membre dataLength .
GUID | Données d'événements |
---|---|
CODECAPI_CHANGELISTS | Tableau de GUID. Chaque GUID spécifie une propriété de codec dont la valeur actuelle ou la plage valide a changé. La taille du tableau est dataLength / sizeof(GUID) . |
GUID de propriété défini dans codecapi.h. | Aucun. |
GUID d’événement propriétaire. | Dépendant de l'implémentation. |
Si le codec ne prend pas en charge l’événement spécifié, la méthode retourne E_NOTIMPL. Le codec peut prendre en charge d’autres événements.
Pour désactiver les notifications pour un événement, appelez ICodecAPI ::UnregisterForEvent.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP avec SP2 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | strmif.h (include Dshow.h) |
Bibliothèque | Strmiids.lib |