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 nullptr
ayarlanı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
nullptr
ayarlanı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 nullptr
başlatılır ve güçlü başvuru sayısı 1 olarak başlatılır.