CComObjectStack Class

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

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

template <class  Base>  
class CComObjectStack
 : public Base

參數

Base
您的類別,衍生自CComObjectRootCComObjectRootEx,如您想要在物件上支援從任何其他介面。

公用建構函式

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

公用方法

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

公用資料成員

名稱說明
CComObjectStack::m_hResFinalConstruct包含HRESULT在建構期間傳回CComObjectStack物件。

CComObjectStack用來建立暫存的 COM 物件,並提供物件的架構實作IUnknown。 一般來說,物件作為一個函式 (也就,推入堆疊) 內的區域變數。 因為函數完成時,會終結物件,參考計數不會執行提高效率。

下列範例示範如何建立用於函式內的 COM 物件︰

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

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

Base

CComObjectStack

標頭︰於 atlcom.h

傳回零。

STDMETHOD_(ULONG, AddRef)();

傳回值

傳回零。

備註

在偵錯模式中,會呼叫_ASSERTE

建構函式。

CComObjectStack(void* = NULL);

備註

呼叫FinalConstruct,然後設定m_hResFinalConstructHRESULT傳回FinalConstruct。 如果您不具有衍生的基底類別從CComObjectRoot,您必須提供自己FinalConstruct方法。 此解構函式會呼叫 FinalRelease

解構函式。

CComObjectStack();

備註

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

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

HRESULT m_hResFinalConstruct;

傳回E_NOINTERFACE

HRESULT QueryInterface(REFIID, void**);

傳回值

傳回E_NOINTERFACE

備註

在偵錯模式中,會呼叫_ASSERTE

傳回零。

STDMETHOD_(ULONG, Release)();

傳回值

傳回零。

備註

在偵錯模式中,會呼叫_ASSERTE

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

顯示: