Freigeben über


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

Referenz

ATL-Assistent für einfache Objekte

Probleme bei prozessinternem Serverthreading