CComObjectGlobal 類別
此類別會管理包含物件 Base
之模組的參考計數。
語法
template<class Base>
class CComObjectGlobal : public Base
參數
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
包含在建構對象期間呼叫 FinalConstruct
的 CComObjectGlobal
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 的全域實例或衍生自它的類別。