Partager via


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
CODECAPI_CHANGELISTS
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.
Un des GUID de propriété définis dans codecapi.h. (Consultez Propriétés de l’API codec.)
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.
GUID d’événement propriétaire défini par le codec.
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
S_OK
E_NOTIMPL
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

Voir aussi

Informations de référence sur l’API codec

API encodeur

ICodecAPI