CBaseObject, 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.]

La classe CBaseObject est une classe abstraite permettant d’implémenter des objets DirectShow. Pour implémenter des objets COM (Component Object Model), utilisez la classe CUnknown , qui dérive de CBaseObject.

Méthodes de classe Description
CBaseObject Méthode du constructeur.
~CBaseObject Méthode de destructeur.
ObjectsActive Récupère le nombre d’objets actifs.

Notes

La plupart des classes de base DirectShow dérivent de CBaseObject. Cette classe fournit une assistance au débogage en conservant le nombre de tous les objets DirectShow actifs pendant l’exécution. Le nombre d’objets est stocké dans une variable membre statique de classe :

class CBaseObject
{
private:
    static LONG m_cObjects;  // Total number of objects active. 
/* ... */
};

Dans les builds de débogage, la DLL indique si elle est déchargée alors que le nombre d’objets est supérieur à zéro. Cela facilite le suivi des fuites causées par des problèmes de comptage de références.

Le constructeur CBaseObject prend un argument, un nom de débogage pour l’objet . Ce nom est stocké dans une table globale de la DLL. La fonction DbgDumpObjectRegister met en forme une liste des objets actifs dans la DLL et l’envoie à la sortie de débogage.

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