Classe CBaseObject

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

La classe CBaseObject è una classe astratta per l'implementazione di oggetti DirectShow. Per implementare gli oggetti Component Object Model (COM), usare la classe CUnknown , che deriva da CBaseObject.

Metodi di classe Descrizione
CBaseObject Metodo costruttore.
~CBaseObject Metodo distruttore.
ObjectsActive Recupera il numero di oggetti attivi.

Commenti

La maggior parte delle classi di base DirectShow deriva da CBaseObject. Questa classe fornisce assistenza per il debug mantenendo un conteggio di tutti gli oggetti DirectShow attivi durante l'esecuzione. Il conteggio degli oggetti viene archiviato in una variabile membro statico di classe:

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

Nelle compilazioni di debug la DLL asserisce se viene scaricata mentre il numero di oggetti è maggiore di zero. In questo modo è più facile tenere traccia delle perdite causate dai problemi di conteggio dei riferimenti.

Il costruttore CBaseObject accetta un argomento, un nome di debug per l'oggetto. Questo nome viene archiviato in una tabella globale nella DLL. La funzione DbgDumpObjectRegister formatta un elenco degli oggetti attivi nella DLL e la invia all'output di debug.

Requisiti

Requisito Valore
Intestazione
Combase.h (includere Streams.h)
Libreria
Strmbase.lib (build al dettaglio);
Strmbasd.lib (build di debug)

Vedi anche

Classi di base DirectShow