共用方式為


CComObjectGlobal 類別

此類別會管理包含物件 Base 之模組的參考計數。

語法

template<class Base>
class CComObjectGlobal : public Base

參數

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

成員

公用建構函式

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

公用方法

名稱 描述
CComObjectGlobal::AddRef 實作全域 AddRef
CComObjectGlobal::QueryInterface 實作全域 QueryInterface
CComObjectGlobal::Release 實作全域 Release

公用資料成員

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

備註

CComObjectGlobal 管理包含物件 Base 之模組的參考計數。 CComObjectGlobal 確保只要模組未發行,就不會刪除您的物件。 只有當整個模組上的參考計數為零時,才會移除您的物件。

例如,使用 CComObjectGlobal 時,類別處理站可以保存其所有用戶端共用的通用全域物件。

繼承階層架構

Base

CComObjectGlobal

需求

標頭: atlcom.h

CComObjectGlobal::AddRef

將物件的參考計數遞增 1。

STDMETHOD_(ULONG, AddRef)();

傳回值

對於診斷和測試而言可能很有用的值。

備註

根據預設, AddRef 呼叫 _Module::Lock ,其中 _Module 是 CComModule 全域實例或衍生自它的類別。

CComObjectGlobal::CComObjectGlobal

建構函式。 呼叫 FinalConstruct ,然後將m_hResFinalConstruct 設定 HRESULT 所傳回的 FinalConstruct

CComObjectGlobal(void* = NULL));

備註

如果您尚未從 CComObjectRoot 衍生基類,則必須提供自己的 FinalConstruct 方法。 此解構函式會呼叫 FinalRelease

CComObjectGlobal::~CComObjectGlobal

解構函式。

CComObjectGlobal();

備註

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

CComObjectGlobal::m_hResFinalConstruct

包含在建構物件期間呼叫 FinalConstructCComObjectGlobal HRESULT。

HRESULT m_hResFinalConstruct;

CComObjectGlobal::QueryInterface

擷取所要求介面指標的指標。

STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);

參數

Iid
[in]所要求介面的 GUID。

ppvObject
[out]iid 所識別之介面指標的指標,如果找不到介面,則為 Null。

傳回值

標準 HRESULT 值。

備註

QueryInterface 只處理 COM 對應表格中的介面。

CComObjectGlobal::Release

將物件的參考計數遞減 1。

STDMETHOD_(ULONG, Release)();

傳回值

在偵錯組建中, Release 傳回一個值,這個值對診斷和測試很有用。 在非偵錯組建中, Release 一律會傳回 0。

備註

根據預設, Release 呼叫 _Module::Unlock ,其中 _Module 是 CComModule 全域實例或衍生自它的類別。

另請參閱

CComObjectStack 類別
CComAggObject 類別
CComObject 類別
類別概觀