Optionen, ATL-Assistent für einfache Objekte
Verwenden Sie diese Seite des ATL Simple Object Wizard, um eine höhere Effizienz und Fehlerunterstützung für das Objekt zu entwerfen.
Weitere Informationen zu ATL-Projekten und ATL-COM-Klassen finden Sie unter ATL-COM-Desktop-Komponenten.
Threadingmodell
Gibt die Methode zum Verwalten von Threads an. Standardmäßig verwendet das Projekt Apartmentthreading .
Weitere Informationen finden Sie unter Angeben des Threadingmodells für ein Projekt.
Option Beschreibung Unverheiratet Gibt an, dass das Objekt immer im primären COM-Thread ausgeführt wird. Weitere Informationen finden Sie unter Singlethreaded Apartments und InprocServer32 . Apartment Gibt an, dass das Objekt Apartmentthreading verwendet. Entspricht single thread apartment. Jedem Objekt einer Apartmentthreadkomponente wird eine Wohnung für ihren Thread zugewiesen, für die Lebensdauer des Objekts; Für mehrere Objekte können jedoch mehrere Threads verwendet werden. Jede Wohnung ist an einen bestimmten Thread gebunden und verfügt über eine Windows-Nachrichtenpumpe (Standard).
Weitere Informationen finden Sie unter Single-Threaded Apartments .Beide Gibt an, dass das Objekt entweder Apartment oder freie Threading verwenden kann, je nachdem, welche Art von Thread es erstellt wird. Free Gibt an, dass das Objekt freie Threading verwendet. Free Threading entspricht einem Multithread-Apartmentmodell. Weitere Informationen finden Sie unter Multithreaded Apartments . Neutral Gibt an, dass das Objekt den Richtlinien für Multithread-Apartments folgt, aber es kann auf jeder Art von Thread ausgeführt werden. Aggregation
Gibt an, ob das Objekt Aggregation verwendet. Das Aggregatobjekt wählt aus, welche Schnittstellen clients zur Verfügung stehen sollen, und die Schnittstellen werden verfügbar gemacht, als ob das Aggregatobjekt sie implementiert hat. Clients des Aggregatobjekts kommunizieren nur mit dem Aggregatobjekt.
Option Beschreibung Ja Gibt an, dass das Objekt aggregiert werden kann. Der Standardwert. Nein Gibt an, dass das Objekt nicht aggregiert wird. Nur Gibt an, dass das Objekt aggregiert werden muss. Schnittstelle
Gibt den Typ der Schnittstelle an, die vom Objekt unterstützt wird. Standardmäßig unterstützt das Objekt eine duale Schnittstelle.
Option Beschreibung Dual Gibt an, dass das Objekt eine duale Schnittstelle unterstützt (die vtable verfügt über benutzerdefinierte Schnittstellenfunktionen sowie späte Bindungsmethoden IDispatch
). Ermöglicht sowohl COM-Clients als auch Automatisierungscontrollern den Zugriff auf das Objekt. Der Standardwert.Benutzerdefiniert Gibt an, dass das Objekt eine benutzerdefinierte Schnittstelle unterstützt (seine vtable enthält benutzerdefinierte Schnittstellenfunktionen). Eine benutzerdefinierte Schnittstelle kann schneller sein als eine duale Schnittstelle, insbesondere über Prozessgrenzen hinweg.
- Automatisierungskompatible Ermöglicht Automatisierungscontrollern den Zugriff auf ein Objekt, das über die unterstützung der benutzerdefinierten Schnittstelle verfügt.Support
Gibt zusätzliche Unterstützung für das Objekt an.
Option Beschreibung ISupportErrorInfo Erstellt Unterstützung für die ISupportErrorInfo-Schnittstelle, damit das Objekt Fehlerinformationen an den Client zurückgeben kann. Verbindungspunkte Aktiviert Verbindungspunkte für Ihr Objekt, indem die Klasse des Objekts von IConnectionPointContainerImpl abgeleitet wird. Freithread-Marshaler Erstellt ein Freethread-Marshaler-Objekt, um Schnittstellenzeiger effizient zwischen Threads im selben Prozess zu marshallen. Verfügbar für Objekte, die Beide als Threadmodell angeben. IObjectWithSite (IE-Objektunterstützung) Implementiert IObjectWithSiteImpl, das eine einfache Möglichkeit bietet, die Kommunikation zwischen einem Objekt und seiner Website in einem Container zu unterstützen.
Siehe auch
ATL-Assistent für einfache Objekte
ATL Simple Object (Einfaches ATL-Objekt)
In-Process-Serverthreading-Probleme