共用方式為


WeakReference 類別

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

語法

class WeakReference;

備註

表示可與 Windows 執行階段 或傳統 COM 搭配使用的弱式參考。 弱式參考代表不一定可存取的物件。

WeakReference對象會維護強式參考,這是物件的指標,而強式參考計數則是方法Resolve()所散發之強式參考的複本數目。 雖然強式參考計數不是零,但強式參考有效,而且物件可存取。 當強式參考計數變成零時,強式參考無效,而且對象無法存取。

WeakReference物件通常用來表示其存在是由外部線程或應用程式所控制的物件。 例如,從檔案對象的參考建構 WeakReference 物件。 在檔案開啟時,強式參考是有效的。 但若檔案關閉,強式參考就變成無效的。

方法是 WeakReference 安全線程。

成員

公用建構函式

名稱 描述
WeakReference::WeakReference 初始化 WeakReference 類別的新執行個體。
WeakReference::~WeakReference Deinitializes (destroys) 類別的 WeakReference 目前實例。

公用方法

名稱 描述
WeakReference::D ecrementStrongReference 遞減目前 WeakReference 對象的強式參考計數。
WeakReference::IncrementStrongReference 遞增目前 WeakReference 對象的強式參考計數。
WeakReference::Resolve 如果強式參考計數非零,則設定目前強式參考值的指定指標。
WeakReference::SetUnknown 將目前 WeakReference 對象的強式參考設定為指定的介面指標。

繼承階層架構

WeakReference

需求

標頭: implements.h

命名空間: Microsoft::WRL::D etails

WeakReference::~WeakReference

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

virtual ~WeakReference();

傳回值

備註

將類別的 WeakReference 目前實例取消初始化。

WeakReference::D ecrementStrongReference

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

ULONG DecrementStrongReference();

備註

遞減目前 WeakReference 對象的強式參考計數。

當強式參考計數變成零時,強式參考會設定為 nullptr

傳回值

遞減的強式參考計數。

WeakReference::IncrementStrongReference

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

ULONG IncrementStrongReference();

傳回值

遞增的強式參考計數。

備註

遞增目前 WeakReference 對象的強式參考計數。

WeakReference::Resolve

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

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

參數

riid
介面識別碼。

ppvObject
當此作業完成時,如果強式參考計數為非零,則為目前強式參考的複本。

傳回值

  • 如果這項作業成功,且強式參考計數為零,S_OK。 ppvObject 參數會設定為 nullptr

  • 如果這項作業成功,且強式參考計數為非零,S_OK。 ppvObject 參數會設定為強式參考。

  • 否則,表示此作業失敗的原因的 HRESULT。

備註

如果強式參考計數非零,則設定目前強式參考值的指定指標。

WeakReference::SetUnknown

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

void SetUnknown(
   _In_ IUnknown* unk
);

參數

unk
對象的介面指標 IUnknown

備註

將目前 WeakReference 對象的強式參考設定為指定的介面指標。

WeakReference::WeakReference

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

WeakReference();

備註

初始化 WeakReference 類別的新執行個體。

對象的強式參考指標 WeakReference 會初始化為 nullptr,且強式參考計數會初始化為 1。