Partilhar via


Contagem de referência

Automaticamente COM ele mesmo não tenta remover um objeto de memória quando pensa que o objeto não está mais sendo usado.Em vez disso, o programador de objeto deve remover o objeto não utilizado.O programador determina se um objeto pode ser removido com base em uma contagem de referência.

COM usa o IUnknown methods, AddRef and Versão, para gerenciar a contagem de referência de interfaces em um objeto.As regras Geral para chamar esses métodos são:

  • Sempre que um cliente recebe um ponteiro de interface, AddRef deve ser chamado na interface.

  • Sempre que o cliente terminou de usar o ponteiro de interface, ele deve chamar Versão.

Em uma implementação simples, cada AddRef incrementos de telefonar e cada Versão chamar decrementa uma variável de contador dentro do objeto.Quando a contagem retorna para zero, a interface não tem todos os usuários e está disponível para remover a mesmo da memória.

Contagem de referência também pode ser implementado para que cada referência ao objeto (não para uma interface individual) é contada.Nesse caso, cada AddRef e Versão uma implementação central no objeto e telefonar delegadosVersão libera o objeto inteiro quando sua contagem de referência chega a zero.

Observação:

Quando um CComObject-objeto derivado é construída usando o novo operador, a contagem de referência é 0.Portanto, uma telefonar para AddRef deve ser feita depois de criar com êxito o CComObject-derivados do objeto.

Consulte também

Referência

Introdução ao com.

Managing Object Lifetimes through Reference Counting