Partilhar via


Contagem de referência

COM próprio não tenta automaticamente remover um objeto de memória quando acha que o objeto não está sendo usado.Em vez de isso, o programador do objeto deve remover o objeto não usado.O programador determina se um objeto pode ser removido com base em uma contagem de referência.

COM usa os métodos de IUnknown , AddRef e Versão, para gerenciar contagem de referência das interfaces em um objeto.As regras gerais para chamar esses métodos são:

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

  • Sempre que o cliente tiver terminado de usar o ponteiro de interface, deve chamar Versão.

Em uma implementação simples, os incrementos de cada chamada de AddRef e cada Versão chamam diminuições uma variável de contagem do objeto.Quando retorna a contagem de zero, a interface ainda não tiverem todos os usuários e estão livres se remova de memória.

Contagem de referência também pode ser implementada para que cada referência ao objeto (não uma a interface individual é após).Em esse caso, cada AddRef e representantes de chamada de Versão a uma implementação central no objeto e, Versão liberam o objeto inteiro quando a contagem de referência atinge zero.

ObservaçãoObservação

Quando CComObject- o objeto derivado é construído usando o operador de new , contagem de referência é 0.Portanto, uma chamada a AddRef deve ser feito após ter criado com êxito CComObjectobjeto derivado de.

Consulte também

Referência

Introdução ao COM

Managing Object Lifetimes through Reference Counting