Objektumtérkép makrói

Megjegyzés:

Az aktív sablontár (ATL) továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Ezek a makrók objektumtérképeket és bejegyzéseket határoznak meg.

Név Description
DECLARE_OBJECT_DESCRIPTION Lehetővé teszi egy osztályobjektum szöveges leírásának megadását, amelyet a rendszer beír az objektumtérképbe.
OBJECT_ENTRY_AUTO Beír egy ATL-objektumot az objektumtérképbe, frissíti a beállításjegyzéket, és létrehozza az objektum egy példányát.
OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO Lehetővé teszi annak megadását, hogy az objektum regisztrálva és inicializálva legyen, de külsőleg ne legyen hamvazható.CoCreateInstance

Requirements

Fejléc: atlcom.h

DECLARE_OBJECT_DESCRIPTION

Lehetővé teszi az osztályobjektum szöveges leírásának megadását.

DECLARE_OBJECT_DESCRIPTION( x )

Paraméterek

x
[in] Az osztályobjektum leírása.

Megjegyzések

Az ATL ezt a leírást a OBJECT_ENTRY_AUTO makrón keresztül írja be az objektumtérképbe.

DECLARE_OBJECT_DESCRIPTION implementál egy GetObjectDescription függvényt, amellyel felülbírálhatja a CComCoClass::GetObjectDescription metódust .

A GetObjectDescription függvényt a következő hívja meg IComponentRegistrar::GetComponents: . IComponentRegistrar Egy Automation-felület, amellyel regisztrálhatja és megszüntetheti az egyes összetevők regisztrálását egy DLL-ben. Amikor létrehoz egy összetevőregisztráló objektumot az ATL-projektvarázslóval, a varázsló automatikusan implementálja a IComponentRegistrar felületet. IComponentRegistrar jellemzően a Microsoft Transaction Server használja.

Az ATL-projektvarázslóról további információt az ATL-projekt létrehozása című cikkben talál.

Example

class ATL_NO_VTABLE CMyDescribedClass :
   public CComObjectRoot,
   public CComCoClass<CMyDescribedClass, &CLSID_MyDescribedClass>
{
public:
   CMyDescribedClass()
   {
   }

   // Override CComCoClass::GetObjectDescription
   DECLARE_OBJECT_DESCRIPTION("My Described Object 1.0")
};

OBJECT_ENTRY_AUTO

Beír egy ATL-objektumot az objektumtérképbe, frissíti a beállításjegyzéket, és létrehozza az objektum egy példányát.

OBJECT_ENTRY_AUTO( clsid, class )

Paraméterek

clsid
[in] A C++ osztály által implementált COM-osztály CLSID azonosítója.

osztály
[in] A clsid által képviselt COM-osztályt implementáló C++ osztály neve.

Megjegyzések

Az objektumbejegyzési makrók globális hatókörbe kerülnek a projektben, hogy támogatást nyújtsanak egy osztály regisztrálásához, inicializálásához és létrehozásához.

OBJECT_ENTRY_AUTO az objektum létrehozó osztályának és osztály-gyári létrehozó osztályfüggvényeinek CreateInstance függvénymutatóit adja meg az automatikusan létrehozott ATL-objektumtérképen. A CAtlComModule::RegisterServer meghívásakor frissíti a rendszerregisztrációs adatbázist az objektumtérkép minden objektumához.

Az alábbi táblázat azt ismerteti, hogy az objektumtérképhez hozzáadott információk hogyan származnak a makró második paramétereként megadott osztályból.

Információk a következőhöz: Forrás:
COM-regisztráció Beállításjegyzék-makrók
Osztálygyár létrehozása Class Factory-makrók
Példány létrehozása Összesítő makrók
Összetevőkategória-regisztráció Kategóriamakrók
Osztályszintű inicializálás és törlés ObjectMain

OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO

Lehetővé teszi annak megadását, hogy az objektum regisztrálva és inicializálva legyen, de külsőleg ne legyen hamvazható.CoCreateInstance

OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO( clsid, class )

Paraméterek

clsid
[in] A C++ osztály által implementált COM-osztály CLSID azonosítója.

osztály
[in] A clsid által képviselt COM-osztályt implementáló C++ osztály neve.

Megjegyzések

Az objektumbejegyzési makrók globális hatókörbe kerülnek a projektben, hogy támogatást nyújtsanak egy osztály regisztrálásához, inicializálásához és létrehozásához.

OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO megadhatja, hogy egy objektum regisztrálva és inicializálva legyen (további információért tekintse meg a OBJECT_ENTRY_AUTO ), de nem lehet creatable keresztül CoCreateInstance.

Lásd még

Makrók