CComCoClass Class
這個類別會建立類別的執行個體並取得其屬性的方法。
template<
class T,
const CLSID* pclsid = &CLSID_NULL
>
class CComCoClass
參數
T
您的類別,衍生自 CComCoClass。pclsid
物件的 CLSID 的指標。
Members
公用方法
名稱 |
描述 |
---|---|
(靜態) 建立類別和查詢介面的執行個體。 |
|
(靜態) 傳回豐富的錯誤資訊傳送至用戶端。 |
|
(靜態屬性) 會傳回物件的類別識別項。 |
|
(傳回物件之描述的靜態) 覆寫。 |
備註
CComCoClass 用來擷取物件的 CLSID,將錯誤訊息並建立類別的執行個體的方法。 要從 CComCoClass衍生自 物件對應 註冊的任何類別。
CComCoClass 也定義預設的 Class Factory 和您的物件模型中的彙總。 CComCoClass 使用下列兩個巨集:
DECLARE_CLASSFACTORY 宣告 Class Factory 是 CComClassFactory。
DECLARE_AGGREGATABLE 宣告您的物件可彙總。
您可以指定另一個巨集覆寫這些預設值是在您的類別定義。 例如,使用 CComClassFactory2 而不是 CComClassFactory,請指定 DECLARE_ CLASSFACTORY2 巨集:
class ATL_NO_VTABLE CMyClass2 :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CMyClass2, &CLSID_MyClass>,
public IDispatchImpl<IMyClass, &IID_IMyClass, &LIBID_NVC_ATL_COMLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
public IDispatchImpl<IMyDualInterface, &__uuidof(IMyDualInterface), &LIBID_NVC_ATL_COMLib, /* wMajor = */ 1, /* wMinor = */ 0>
{
public:
DECLARE_CLASSFACTORY2(CMyLicense)
// Remainder of class declaration omitted
需求
Header: atlcom.h