Udostępnij za pośrednictwem


WeakReference — Klasa

Obsługuje infrastrukturę światowym laboratorium Referencyjnym i nie ma być używane bezpośrednio w kodzie.

class WeakReference;

Uwagi

Reprezentuje słabe odwołania który może zostać użyty z obsługi Windows lub klasycznego modelu COM.Słabe odwołania reprezentuje obiekt, który może być lub nie mogą być niedostępne.

A WeakReference utrzymuje obiekt odniesienie silne, który jest wskaźnik do obiektu i licznika odwołań silne, który jest liczba kopii silne odniesienia, które zostały przekazane przez metodę Resolve().Liczbę odwołań silne jest różna od zera, silne odniesienia jest prawidłowy i obiekt jest dostępny.Gdy licznik silne odniesienia staje się zero, silne odniesienia jest nieprawidłowy i obiekt jest niedostępny.

Obiekt WeakReference zwykle jest używany do reprezentowania obiektu, którego istnienie jest kontrolowana przez wątek zewnętrznych lub aplikacji.Na przykład można utworzyć obiektu WeakReference z odwołania do obiektu pliku.Gdy plik jest otwarty, silne odniesienia jest prawidłowy.Ale jeśli plik zostanie zamknięty, silne odniesienia staje się nieprawidłowy.

Metody WeakReference są bezpieczne dla wątków.

Członkowie

Publiczne konstruktory

Nazwa

Opis

WeakReference::WeakReference — Konstruktor

Inicjuje nowe wystąpienie klasy WeakReference.

WeakReference::~WeakReference — Destruktor

Deinitializes (niszczy) bieżącej instancji klasy WeakReference.

Metody publiczne

Nazwa

Opis

WeakReference::DecrementStrongReference — Metoda

Dekrementuje odniesienie silne zliczania bieżącego obiektu WeakReference.

WeakReference::IncrementStrongReference — Metoda

Zwiększa licznik odniesienie silne bieżącego obiektu WeakReference.

WeakReference::Resolve — Metoda

Ustawia określony wskaźnik bieżącą wartość odniesienia silne, jeśli licznik silne odniesienia jest różna od zera.

WeakReference::SetUnknown — Metoda

Ustawia silne odniesienia do bieżącego obiektu WeakReference wskaźnika określonego interfejsu.

Hierarchii dziedziczenia

WeakReference

Wymagania

Nagłówek: implements.h

Obszar nazw: Microsoft::WRL::Details

Zobacz też

Informacje

Microsoft::WRL::Details — Przestrzeń nazw