CBaseObject-Klasse
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Die CBaseObject-Klasse ist eine abstrakte Klasse zum Implementieren von DirectShow-Objekten. Um COM-Objekte (Component Object Model) zu implementieren, verwenden Sie die CUnknown-Klasse , die von CBaseObject abgeleitet wird.
Klassenmethoden | BESCHREIBUNG |
---|---|
CBaseObject | Konstruktormethode. |
~CBaseObject | Destruktormethode. |
ObjectsActive | Ruft die Anzahl der aktiven Objekte ab. |
Bemerkungen
Die meisten DirectShow-Basisklassen leiten von CBaseObject ab. Diese Klasse bietet Unterstützung beim Debuggen, indem die Anzahl aller DirectShow-Objekte während der Laufzeit aktiv bleibt. Die Objektanzahl wird in einer klassen statischen Membervariablen gespeichert:
class CBaseObject
{
private:
static LONG m_cObjects; // Total number of objects active.
/* ... */
};
In Debugbuilds gibt die DLL an, wenn sie entladen wird, während die Objektanzahl größer als 0 ist. Dies erleichtert das Auffinden von Lecks, die durch Probleme mit der Referenzzählung verursacht werden.
Der CBaseObject-Konstruktor akzeptiert ein Argument, einen Debugnamen für das Objekt. Dieser Name wird in einer globalen Tabelle in der DLL gespeichert. Die DbgDumpObjectRegister-Funktion formatiert eine Liste der in der DLL aktiven Objekte und sendet sie an die Debugausgabe.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|