CBaseObject (clase)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

La clase CBaseObject es una clase abstracta para implementar objetos DirectShow. Para implementar objetos Component Object Model (COM), use la clase CUnknown , que deriva de CBaseObject.

Métodos de clase Descripción
CBaseObject Método constructor.
~CBaseObject Método de destructor.
ObjectsActive Recupera el recuento de objetos activos.

Observaciones

La mayoría de las clases base directShow derivan de CBaseObject. Esta clase proporciona asistencia para depurar manteniendo un recuento de todos los objetos DirectShow activos durante el tiempo de ejecución. El recuento de objetos se almacena en una variable miembro de clase estática:

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

En las compilaciones de depuración, el archivo DLL afirmará si se descarga mientras el recuento de objetos es mayor que cero. Esto facilita el seguimiento de las fugas causadas por problemas de recuento de referencias.

El constructor CBaseObject toma un argumento, un nombre de depuración para el objeto . Este nombre se almacena en una tabla global en el archivo DLL. La función DbgDumpObjectRegister da formato a una lista de los objetos activos en el archivo DLL y los envía a la salida de depuración.

Requisitos

Requisito Value
Encabezado
Combase.h (include Streams.h)
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)

Consulte también

Clases base directShow