Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Makros definieren Objektzuordnungen und Einträge.
| Name | Beschreibung |
|---|---|
| DECLARE_OBJECT_DESCRIPTION | Ermöglicht es Ihnen, die Textbeschreibung eines Klassenobjekts anzugeben, die in die Objektzuordnung eingegeben wird. |
| OBJECT_ENTRY_AUTO | Gibt ein ATL-Objekt in die Objektzuordnung ein, aktualisiert die Registrierung und erstellt eine Instanz des Objekts. |
| OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO | Ermöglicht es Ihnen, anzugeben, dass das Objekt registriert und initialisiert werden sollte, jedoch nicht extern über CoCreateInstance erstellbar sein sollte. |
Anforderungen
Kopfzeile: atlcom.h
DECLARE_OBJECT_DESCRIPTION
Ermöglicht es Ihnen, eine Textbeschreibung für Ihr Klassenobjekt anzugeben.
DECLARE_OBJECT_DESCRIPTION( x )
Parameter
x
[in] Beschreibung des Klassenobjekts.
Hinweise
ATL gibt diese Beschreibung über das OBJECT_ENTRY_AUTO Makro in die Objektzuordnung ein.
DECLARE_OBJECT_DESCRIPTION implementiert eine GetObjectDescription Funktion, mit der Sie die CComCoClass::GetObjectDescription-Methode überschreiben können.
Die GetObjectDescription Funktion wird von IComponentRegistrar::GetComponents. IComponentRegistrar ist eine Automatisierungsschnittstelle, mit der Sie einzelne Komponenten in einer DLL registrieren und aufheben können. Wenn Sie ein Komponentenregistrierungsstellenobjekt mit dem ATL-Projekt-Assistenten erstellen, implementiert der Assistent automatisch die IComponentRegistrar Schnittstelle. IComponentRegistrar wird in der Regel von Microsoft Transaction Server verwendet.
Weitere Informationen zum ATL-Projekt-Assistenten finden Sie im Artikel Erstellen eines ATL-Projekts.
Beispiel
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
Gibt ein ATL-Objekt in die Objektzuordnung ein, aktualisiert die Registrierung und erstellt eine Instanz des Objekts.
OBJECT_ENTRY_AUTO( clsid, class )
Parameter
clsid
[in] Die CLSID einer COM-Klasse, die von der C++-Klasse namens klasse implementiert wird.
class
[in] Der Name der C++-Klasse, die die durch clsid dargestellte COM-Klasse implementiert.
Hinweise
Objekt-Eintragsmakros befinden sich im globalen Gültigkeitsbereich des Projekts, um Unterstützung für die Registrierung, Initialisierung und Erstellung einer neuen Klasse bereitzustellen.
OBJECT_ENTRY_AUTO die Funktionszeiger der Erstellerklasse und der Klassenfactory-Erstellerklassenfunktionen CreateInstance für dieses Objekt in die automatisch generierte ATL-Objektzuordnung eingeben. Wenn CAtlComModule::RegisterServer aufgerufen wird, wird die Systemregistrierung für jedes Objekt in der Objektzuordnung aktualisiert.
In der folgenden Tabelle wird beschrieben, wie die Informationen, die der Objektzuordnung hinzugefügt werden, aus der Klasse abgerufen werden, die als zweiter Parameter zu diesem Makro angegeben wird.
| Informationen für | Erhalten von |
|---|---|
| COM-Registrierung | Registrierungsmakros |
| Erstellen von Klassenfabriken | Klassenfactorymakros |
| Erstellen einer Instanz | Aggregationsmakros |
| Komponentenkategorieregistrierung | Kategorie-Makros |
| Initialisierung und Bereinigung auf Klassenebene | ObjectMain |
OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO
Ermöglicht es Ihnen, anzugeben, dass das Objekt registriert und initialisiert werden sollte, jedoch nicht extern über CoCreateInstance erstellbar sein sollte.
OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO( clsid, class )
Parameter
clsid
[in] Die CLSID einer COM-Klasse, die von der C++-Klasse namens klasse implementiert wird.
class
[in] Der Name der C++-Klasse, die die durch clsid dargestellte COM-Klasse implementiert.
Hinweise
Objekt-Eintragsmakros befinden sich im globalen Gültigkeitsbereich des Projekts, um Unterstützung für die Registrierung, Initialisierung und Erstellung einer neuen Klasse bereitzustellen.
mit OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO können Sie angeben, dass ein Objekt registriert und initialisiert werden soll (weitere Informationen finden Sie unter OBJECT_ENTRY_AUTO ), aber es sollte nicht über CoCreateInstancedas Objekt erstellt werden können.