Aracılığıyla paylaş


WeakReference Sınıfı

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

Sözdizimi

class WeakReference;

Açıklamalar

Windows Çalışma Zamanı veya klasik COM ile kullanılabilecek zayıf bir başvuruyu temsil eder. Zayıf başvuru, erişilebilir veya erişilebilir olmayabilecek bir nesneyi temsil eder.

NesneWeakReference, bir nesnenin işaretçisi olan güçlü bir başvuruyu ve yöntemi tarafından Resolve() dağıtılan güçlü başvurunun kopyalarının sayısı olan güçlü başvuru sayısını korur. Güçlü başvuru sayısı sıfırdan farklı olsa da, güçlü başvuru geçerli ve nesnesi erişilebilir. Güçlü başvuru sayısı sıfır olduğunda, güçlü başvuru geçersiz olur ve nesneye erişilemez.

Nesne WeakReference genellikle varlığı dış iş parçacığı veya uygulama tarafından denetlenen bir nesneyi temsil etmek için kullanılır. Örneğin, bir WeakReference dosya nesnesine yapılan başvurudan bir nesne oluşturun. Dosya açıkken, güçlü başvuru geçerlidir. Ancak dosya kapatılırsa, güçlü başvuru geçersiz olur.

WeakReference Yöntemler iş parçacığı güvenlidir.

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
WeakReference::WeakReference WeakReference sınıfının yeni bir örneğini başlatır.
WeakReference::~WeakReference Sınıfın geçerli örneğini WeakReference başlatır (yok eder).

Genel Yöntemler

Veri Akışı Adı Açıklama
WeakReference::D ecrementStrongReference Geçerli WeakReference nesnenin güçlü başvuru sayısını azaltma.
WeakReference::IncrementStrongReference Geçerli WeakReference nesnenin güçlü başvuru sayısını artırır.
WeakReference::Resolve Güçlü başvuru sayısı sıfırdan farklıysa, belirtilen işaretçiyi geçerli güçlü başvuru değerine ayarlar.
WeakReference::SetUnknown Geçerli WeakReference nesnenin güçlü başvuruyu belirtilen arabirim işaretçisine ayarlar.

Devralma Hiyerarşisi

WeakReference

Gereksinimler

Üst bilgi: implements.h

Ad Alanı: Microsoft::WRL::D etails

WeakReference::~WeakReference

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

virtual ~WeakReference();

Dönüş Değeri

Açıklamalar

Sınıfın geçerli örneğini WeakReference başlatır.

WeakReference::D ecrementStrongReference

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

ULONG DecrementStrongReference();

Açıklamalar

Geçerli WeakReference nesnenin güçlü başvuru sayısını azaltma.

Güçlü başvuru sayısı sıfır olduğunda, güçlü başvuru olarak nullptrayarlanır.

Dönüş Değeri

Azalan güçlü başvuru sayısı.

WeakReference::IncrementStrongReference

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

ULONG IncrementStrongReference();

Dönüş Değeri

Artan güçlü başvuru sayısı.

Açıklamalar

Geçerli WeakReference nesnenin güçlü başvuru sayısını artırır.

WeakReference::Resolve

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

STDMETHOD(Resolve)
   (REFIID riid,
   _Deref_out_opt_ IInspectable **ppvObject
);

Parametreler

riid
Arabirim kimliği.

ppvObject
Bu işlem tamamlandığında, güçlü başvuru sayısı sıfır olmayansa geçerli güçlü başvurunun bir kopyası.

Dönüş Değeri

  • Bu işlemin başarılı olup olmadığını ve güçlü başvuru sayısının sıfır olup olmadığını S_OK. ppvObject parametresi olarak nullptrayarlanır.

  • Bu işlemin başarılı olup olmadığını ve güçlü başvuru sayısının sıfır olmayan olup olmadığını S_OK. ppvObject parametresi, güçlü başvuruya ayarlanır.

  • Aksi takdirde, bu işlemin başarısız olmasının nedenini gösteren bir HRESULT.

Açıklamalar

Güçlü başvuru sayısı sıfırdan farklıysa, belirtilen işaretçiyi geçerli güçlü başvuru değerine ayarlar.

WeakReference::SetUnknown

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

void SetUnknown(
   _In_ IUnknown* unk
);

Parametreler

unk
Bir nesnenin IUnknown arabirimine yönelik bir işaretçi.

Açıklamalar

Geçerli WeakReference nesnenin güçlü başvuruyu belirtilen arabirim işaretçisine ayarlar.

WeakReference::WeakReference

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

WeakReference();

Açıklamalar

WeakReference sınıfının yeni bir örneğini başlatır.

Nesnenin WeakReference güçlü başvuru işaretçisi olarak nullptrbaşlatılır ve güçlü başvuru sayısı 1 olarak başlatılır.