Optionen, ATL-Assistent für einfache Objekte
Aktualisiert: November 2007
Auf dieser Seite des ATL-Assistenten für einfache Objekte können Sie das Objekt effizienter gestalten und Unterstützung für die Fehlerbehebung hinzufügen.
Hinweis: |
---|
Wenn Sie diesen Assistenten mit einem Geräteprojekt verwenden, informieren Sie sich unter Assistentenoptionen für "Optionen", ATL-Assistent für einfache Objekte. |
Weitere Informationen zu ATL-Projekten und ATL-COM-Klassen finden Sie unter ATL Reference.
Threadmodell
Gibt die für die Threadverwaltung verwendete Methode an. Das Projekt verwendet standardmäßig das Threadmodell Apartment.Weitere Informationen finden Sie unter Festlegen des Threadingmodells des Projekts.
Option
Beschreibung
Single
Das Objekt wird immer im primären COM-Thread ausgeführt. Weitere Informationen finden Sie unter Singlethreaded Apartments und InprocServer32.
Apartment
Legt fest, dass das Objekt das Apartmentthreadingmodell verwendet. Entspricht dem Singlethreadapartment. Jedem Objekt einer Apartmentthreadkomponente wird während seiner Lebensdauer ein Apartment für den Thread zugewiesen. Für mehrere Objekte können jedoch auch mehrere Threads verwendet werden. Jedes Apartment ist an einen bestimmten Thread gebunden und verfügt über eine Windows-Nachrichtenverteilschleife (Standard).
Weitere Informationen finden Sie unter Singlethreaded Apartments.
Beides
Je nach Threadtyp, von dem es erstellt wird, kann das Objekt sowohl das Apartment- als auch das Freethreadingmodell verwenden.
Frei
Legt fest, dass das Objekt das Freethreadingmodell verwendet. Das Freethreadingmodell entspricht dem Multithreaded-Apartmentmodell. Weitere Informationen finden Sie unter Multithreaded Apartments.
Neutral (nur Windows 2000)
Legt fest, dass das Objekt den Richtlinien für Multithreadapartments entspricht, jedoch beliebige Threads ausführen kann.
Aggregation
Gibt an, ob das Objekt die Aggregation verwendet. Das aggregierte Objekt entscheidet, welche Schnittstellen Clients zur Verfügung gestellt werden. Das Verfügbarmachen erfolgt auf dieselbe Weise, als ob die Schnittstellen vom aggregierten Objekt implementiert worden wären. Die Clients des aggregierten Objekts kommunizieren ausschließlich mit diesem Objekt.Option
Beschreibung
Ja
Gibt an, dass das Objekt aggregiert werden kann. Standard.
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. Das Objekt unterstützt standardmäßig eine duale Schnittstelle.Option
Beschreibung
Dual
Gibt an, dass das Objekt eine duale Schnittstelle unterstützt (die vtable des Objekts enthält benutzerdefinierte Schnittstellenfunktionen sowie IDispatch-Methoden für spätes Binden). Ermöglicht sowohl COM-Clients als auch Automatisierungscontrollern den Zugriff auf das Objekt. Standard.
Benutzerdefiniert
Gibt an, dass das Objekt eine benutzerdefinierte Schnittstelle unterstützt (die vtable des Objekts enthält benutzerdefinierte Schnittstellenfunktionen). Eine benutzerdefinierte Schnittstelle ist, insbesondere über Prozessgrenzen hinweg, schneller als eine duale Schnittstelle.
Automatisierungskompatibel Ermöglicht Automatisierungscontrollern den Zugriff auf ein Objekt, das benutzerdefinierte Schnittstellen unterstützt.
Unterstützung
Gibt an, ob das Objekt über zusätzliche Unterstützung verfügt.Option
Beschreibung
ISupportErrorInfo
Richtet die Unterstützung für die ISupportErrorInfo-Schnittstelle ein, sodass das Objekt Fehlerinformationen an den Client zurückgeben kann.
Verbindungspunkte
Aktiviert Verbindungspunkte für das Objekt, indem die Klasse des Objekts von IConnectionPointContainerImpl abgeleitet wird.
Free-threaded Marshaler
Erstellt einen freethreaded Marshaler, damit die Schnittstellenzeiger zwischen Threads innerhalb desselben Prozesses effizient gemarshallt werden können. Verfügbar für das Objekt, das Beides als Threadingmodell angibt.
IObjectWithSite (IE-Objektunterstützung)
Implementiert IObjectWithSiteImpl und bietet dadurch eine einfache Möglichkeit, die Kommunikation zwischen einem Objekt und seiner Site innerhalb eines Containers zu unterstützen.
Siehe auch
Aufgaben
Hinzufügen eines einfachen ATL-Objekts