Zliczanie referencji

COM sam nie automatycznie próbuje usunąć obiekt z pamięci, gdy uważa, że obiekt jest już używany.Zamiast tego programista obiektu należy usunąć nieużywane obiektu.Programista Określa, czy obiekt można usunąć oparte na licznika odwołań.

Używa COM IUnknown metody, AddRef i wersji, zarządzanie interfejsów obiektu licznika odwołań.Ogólne zasady dotyczące wywoływania metody te są:

  • Gdy klient odbierze wskaźnika interfejsu AddRef musi zostać wywołana w interfejsie.

  • W każdym przypadku, gdy klient zakończył przy użyciu wskaźnika interfejsu, należy wywołać wersji.

W celu wykonania prostego każdego AddRef wywołanie skoki i każdego wersji wywołanie zmniejsza zmienną licznika wewnątrz obiektu.Gdy licznik zwraca zero, interfejs już ma użytkowników i może sam usunąć z pamięci.

Odwołanie zliczania mogą również zostać zaimplementowane, tak aby każde odwołanie do obiektu (nie do indywidualnego interfejsu) jest liczony.W przypadku każdego AddRef i wersji wywołanie obiektu, delegatów do centralnego wdrażania i wersji zwalnia całego obiektu, gdy jego licznika odwołań osiągnie zero.

[!UWAGA]

Po CComObject-pochodnych obiektu jest konstruowana przy użyciu Nowy operator, licznika odwołań jest 0.Dlatego wywołanie AddRef musi nastąpić po pomyślnym utworzeniu CComObject-pochodzące z obiektu.

Zobacz też

Informacje

Wprowadzenie do modelu COM

Managing Object Lifetimes through Reference Counting