Share via


ComPtr 類別

建立表示樣板參數的介面中的智慧型指標型別。 當參考計數歸零時, ComPtr 自動維護基礎介面指標上的參考次數並釋放介面。

template <
   typename T
>
class ComPtr;

template<
   class U
>
friend class ComPtr;

參數

  • T
    ComPtr 表示的介面。

  • U
    為目前 ComPtr friend 的類別。(使用此參數的樣板會受到保護。)

備註

ComPtr<> 宣告表示基礎介面指標的型別。 使用 ComPtr<> 宣告變數並使用箭號成員存取運算子 (->) 來存取介面成員函式。

如需智慧型指標的詳細資訊,請參閱 MSDN Library 中的 COM Coding Practices 主題的「COM 智慧型指標」小節。

成員

公用 Typedefs

名稱

說明

InterfaceType

T 範本參數所指定型別的一個同義資料表。

公用建構函式

名稱

說明

ComPtr::ComPtr 建構函式

初始化 ComPtr 類別的新執行個體。 多載提供預設值,複製,移動和轉換建構函式。

ComPtr::~ComPtr 解構函式

去初始化 ComPtr 的執行個體。

公用方法

名稱

說明

ComPtr::As 方法

傳回表示指定樣板的參數所識別的 ComPtr 介面的物件。

ComPtr::AsIID 方法

傳回表示指定樣板的參數所識別的 ComPtr 介面 ID 的物件。

ComPtr::AsWeak 方法

擷取目前物件的弱式參考。

ComPtr::Attach 方法

使這 ComPtr 與目前範本型別參數指定的介面型別產生關連。

ComPtr::CopyTo 方法

將目前或與這個 ComPtr 有關聯的指定介面複製到指定的輸出指標。

ComPtr::Detach 方法

解除 ComPtr 和它所代表的介面的關聯性。

ComPtr::Get 方法

擷取指向與這個 ComPtr 相關的介面的指標。

ComPtr::GetAddressOf 方法

擷取 ptr_ 資料成員的位址,含有指向代表這個 ComPtr 介面的指標。

ComPtr::ReleaseAndGetAddressOf 方法

釋放與這個 ComPtr 有關聯的介面然後擷取 ptr_ 資料成員的位址,包含已釋放的介面指標。

ComPtr::Swap 方法

將目前 ComPtr 所管理的介面和指定的 ComPtr 所管理的介面互相交換。

受保護的方法

名稱

說明

ComPtr::InternalAddRef 方法

增加與這個 ComPtr 有關聯的介面的參考計數。

ComPtr::InternalRelease 方法

執行與這個 ComPtr 有關聯的介面的 COM 版本作業。

公用運算子

名稱

說明

ComPtr::operator Microsoft::WRL::Details::BoolType 運算子

指出 ComPtr 是否管理介面的物件存留期 (Lifetime)。

ComPtr::operator& 運算子

擷取目前 ComPtr 的位址。

ComPtr::operator= 運算子

將值指派給目前 ComPtr。

ComPtr::operator-> 運算子

擷取指向目前樣板參數所指定的型別的指標。

ComPtr::operator== 運算子

表示兩個 ComPtr 物件是否相等。

ComPtr::operator!= 運算子

指出兩個 ComPtr 物件是否不相等。

受保護的資料成員

名稱

說明

ComPtr::ptr_ 資料成員

含有指向關聯,並由這個 ComPtr 管理的介面。

繼承階層

ComPtr

需求

標題: client.h

**命名空間:**Microsoft::WRL

請參閱

參考

Microsoft::WRL 命名空間