Sdílet prostřednictvím


Počítání odkazů

COM sám nepokouší automaticky odebrat objekt z paměti, pokud se předpokládá, že objekt je již používán.Místo toho musí programátor objektu odebrat nepoužívané objekt.Programátor Určuje, zda objekt lze odebrat závislosti na počet odkazů.

Použití modelu COM IUnknown metody, AddRef a verze, Správa referenční počet rozhraní objektu.Obecná pravidla pro volání těchto metod jsou:

  • Pokaždé, když klient obdrží ukazatele rozhraní AddRef musí být volána na rozhraní.

  • Při každém ukončení používání ukazatele rozhraní klienta musí volat vydání.

Jednoduché provedení každého AddRef přírůstcích a každé volání vydání sníží volání proměnné čítače uvnitř objektu.Při počítání vrátí nulu, rozhraní již obsahuje všechny uživatele a je zdarma sama odebrat z paměti.

Počítání odkazů mohou být implementovány také tak, aby se počítá každý odkaz na objekt (nikoli na jednotlivých rozhraní).V tomto případě každý AddRef a vydání delegátů pro implementaci centrální volání objektu a vydání celý objekt se uvolní při jeho počet odkazů dosáhne nuly.

[!POZNÁMKA]

Při CComObject -odvozený objekt je vytvořen pomocí nové operátor, počet odkazů je 0.Proto volání AddRef se musí uskutečnit po úspěšném vytvoření CComObject -odvozené objekt.

Viz také

Referenční dokumentace

Úvod do modelu COM

Managing Object Lifetimes through Reference Counting