共用方式為


CComObjectStack 類別

這個類別會建立暫存 COM 物件,並提供 的基本架構實作 IUnknown

語法

template <class  Base>
class CComObjectStack : public Base

參數

基地
您的類別衍生自 CComObjectRoot CComObjectRootEx ,以及您想要在 物件上支援的任何其他介面。

成員

公用建構函式

名稱 描述
CComObjectStack::CComObjectStack 建構函式。
CComObjectStack::~CComObjectStack 解構函式。

公用方法

名稱 描述
CComObjectStack::AddRef 傳回零。 在偵錯模式中,呼叫 _ASSERTE
CComObjectStack::QueryInterface 傳回E_NOINTERFACE。 在偵錯模式中,呼叫 _ASSERTE
CComObjectStack::Release 傳回零。 在偵錯模式中,呼叫 _ASSERTE 。 ~

公用資料成員

名稱 描述
CComObjectStack::m_hResFinalConstruct 包含建構物件期間傳回的 CComObjectStack HRESULT。

備註

CComObjectStack 是用來建立暫存 COM 物件,並提供 物件的基本架構實作 IUnknown 。 一般而言,物件會當做一個函式內的區域變數使用(也就是推送至堆疊)。 由於物件會在函式完成時終結,因此不會執行參考計數以提高效率。

下列範例示範如何建立函數內使用的 COM 物件:

void MyFunc()
{
   CComObjectStack<CMyClass2> Tempobj;
   //...
}

暫存物件 Tempobj 會推送至堆疊,並在函式完成時自動消失。

繼承階層架構

Base

CComObjectStack

需求

標頭: atlcom.h

CComObjectStack::AddRef

傳回零。

STDMETHOD_(ULONG, AddRef)();

傳回值

傳回零。

備註

在偵錯模式中,呼叫 _ASSERTE

CComObjectStack::CComObjectStack

建構函式。

CComObjectStack(void* = NULL);

備註

呼叫 FinalConstruct ,然後將m_hResFinalConstruct 設定 為 所 FinalConstruct 傳回的 HRESULT。 如果您尚未從 CComObjectRoot 衍生基類,則必須提供自己的 FinalConstruct 方法。 此解構函式會呼叫 FinalRelease

CComObjectStack::~CComObjectStack

解構函式。

CComObjectStack();

備註

釋放所有已配置的資源,並呼叫 FinalRelease

CComObjectStack::m_hResFinalConstruct

包含從物件建構期間呼叫 FinalConstruct 所傳回的 CComObjectStack HRESULT。

HRESULT    m_hResFinalConstruct;

CComObjectStack::QueryInterface

傳回E_NOINTERFACE。

HRESULT    QueryInterface(REFIID, void**);

傳回值

傳回E_NOINTERFACE。

備註

在偵錯模式中,呼叫 _ASSERTE

CComObjectStack::Release

傳回零。

STDMETHOD_(ULONG, Release)();

傳回值

傳回零。

備註

在偵錯模式中,呼叫 _ASSERTE

另請參閱

CComAggObject 類別
CComObject 類別
CComObjectGlobal 類別
類別概觀