CUnknown, classe

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si 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.]

Hiérarchie de classes cunknown

La classe CUnknown implémente l’interface IUnknown . La plupart des objets COM (Component Object Model) dans DirectShow dérivent de CUnknown.

Si vous implémentez un objet COM, vous pouvez le dériver de CUnknown. La dérivation de CUnknown fournit une implémentation thread-safe et vous évite d’avoir à implémenter IUnknown.

Pour une présentation détaillée de l’utilisation de cette classe de base, consultez How to Implement IUnknown. Voici un bref résumé :

  • Incluez la macro DECLARE_IUNKNOWN dans la section publique de votre définition de classe. Cette macro déclare les trois méthodes de l’interface IUnknown .
  • Remplacez la méthode NonDelegatingQueryInterface pour prendre en charge les interfaces autres que IUnknown. Dans cette méthode, appelez la fonction GetInterface pour récupérer les pointeurs d’interface.
  • Dans votre constructeur de classe, appelez la méthode du constructeur CUnknown .
Variables de membre protégé Description
m_cRef Nombre de références.
Méthodes publiques Description
CUnknown Méthode du constructeur.
~ CUnknown Méthode de destructeur. Virtuel.
GetOwner Obtient un pointeur vers le contrôle IUnknown.
INonDelegatingUnknown, méthodes Description
NonDelegatingAddRef Incrémente le nombre de références.
NonDelegatingQueryInterface Récupère un pointeur d’interface et incrémente le nombre de références.
NonDelegatingRelease Décrémente le nombre de références.

Configuration requise

Condition requise Valeur
En-tête
Combase.h (include Streams.h)
Bibliothèque
Strmbase.lib (builds de vente au détail) ;
Strmbasd.lib (builds de débogage)

Voir aussi

DirectShow Base Classes