Compartilhar via


Classe CBaseObject

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

A classe CBaseObject é uma classe abstrata para implementar objetos DirectShow. Para implementar objetos COM (Component Object Model), use a classe CUnknown , que deriva de CBaseObject.

Métodos de classe Descrição
Cbaseobject Método de construtor.
~Cbaseobject Método de destruidor.
ObjectsActive Recupera a contagem de objetos ativos.

Comentários

A maioria das classes base do DirectShow derivam de CBaseObject. Essa classe fornece assistência de depuração mantendo uma contagem de todos os objetos DirectShow ativos durante o tempo de execução. A contagem de objetos é armazenada em uma variável de membro estático de classe:

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

Em builds de depuração, a DLL declarará se for descarregada enquanto a contagem de objetos for maior que zero. Isso facilita o rastreamento de vazamentos causados por problemas de contagem de referência.

O construtor CBaseObject usa um argumento, um nome de depuração para o objeto. Esse nome é armazenado em uma tabela global na DLL. A função DbgDumpObjectRegister formata uma lista dos objetos ativos na DLL e a envia para a saída de depuração.

Requisitos

Requisito Valor
parâmetro
Combase.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)

Confira também

DirectShow Base Classes