Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O COM não tenta remover automaticamente um objeto da memória quando acha que o objeto não está mais sendo usado. Em vez disso, o programador do objeto deve remover o objeto não utilizado. O programador determina se um objeto pode ser removido com base em uma contagem de referências.
O COM usa os métodos, IUnknown, AddRef e Release, para gerenciar a contagem de referências das interfaces em um objeto. As regras gerais de chamada desses métodos são:
Sempre que um cliente recebe um ponteiro de interface,
AddRefdeve ser chamado na interface.Sempre que o cliente termina de usar o ponteiro da interface, deve chamar
Release.
Em uma implementação simples, cada chamada AddRef incrementa e cada chamada Release decrementa uma variável de contador no objeto. Quando a contagem retorna a zero, a interface não tem mais usuários e está livre para se remover da memória.
A contagem de referências também pode ser implementada para que cada referência ao objeto (não a uma interface individual) seja contada. Nesse caso, cada chamada AddRef e Release delega para uma implementação central no objeto e Release libera todo o objeto quando sua contagem de referências atinge zero.
Observação
Quando um objeto CComObject derivado é construído usando o operador new, a contagem de referências é 0. Portanto, uma chamada para AddRef deve ser feita após a criação do objeto CComObject derivado.
Confira também
Introdução ao COM
Gerenciando o tempo de vida do objeto por meio da contagem de referências