Partager via


Options, Assistant Objet simple ATL

Utilisez cette page de l'Assistant Objet simple ATL pour améliorer l'efficacité et la prise en charge des erreurs de l'objet.

Pour plus d'informations sur les projets ATL et les classes ATL COM, consultez ATL Reference.

  • Modèle de thread
    Indique la méthode utilisée pour la gestion des threads. Par défaut, le projet utilise le modèle de thread cloisonné.

    Pour plus d'informations, consultez Spécification du modèle de thread du projet.

    Option

    Description

    Single

    Spécifie que l'objet s'exécute toujours dans le thread COM principal. Pour plus d'informations, consultez threads cloisonnés (Single-Threaded Apartments, STA) et InprocServer32.

    Apartment (cloisonné)

    Spécifie que l'objet utilise le modèle de thread cloisonné. Équivaut au mode STA (Single Thread Apartment). Chaque objet d'un composant à thread cloisonné se voit assigner un cloisonnement pour son thread, pour toute la durée de vie de l'objet. Il est toutefois possible d'utiliser plusieurs threads pour plusieurs objets. Chaque cloisonnement est lié à un thread spécifique et possède une pompe de messages Windows (par défaut).

    Pour plus d'informations, consultez threads cloisonnés (Single-Threaded Apartments, STA).

    Les deux

    Spécifie que l'objet peut utiliser le modèle de thread Apartment (cloisonné) ou Free (libre), selon le type de thread créé.

    Free (libre)

    Spécifie que l'objet utilise le modèle libre de threads, ce qui équivaut à un modèle multithread cloisonné. Pour plus d'informations, consultez multithreads cloisonnés.

    Neutral (neutre : Windows 2000 uniquement)

    Spécifie que l'objet suit les indications des multithreads cloisonnées, mais qu'il peut s'exécuter sur n'importe quel type de thread.

  • Aggregation
    Indique si l'objet utilise l'agrégation. L'objet d'agrégat choisit les interfaces à exposer aux clients et celles-ci sont exposées comme si l'objet d'agrégat les implémentait. Les clients de l'objet d'agrégat communiquent uniquement avec l'objet d'agrégat.

    Option

    Description

    Oui

    Spécifie que l'objet peut être regroupé en agrégats. Ceci se produit par défaut.

    Non

    Spécifie que l'objet n'est pas regroupé en agrégats.

    Uniquement

    Spécifie que l'objet doit être regroupé en agrégats.

  • Interface
    Indique le type d'interface pris en charge par l'objet. Par défaut, l'objet prend en charge une interface double.

    Option

    Description

    Double

    Spécifie que l'objet prend en charge une interface double (sa table de fonctions virtuelles, vtable, possède des fonctions d'interface personnalisées, ainsi que des méthodes IDispatch de liaison tardive). Autorise à la fois les clients COM et les contrôleurs Automation à accéder à l'objet. Ceci se produit par défaut.

    Personnalisé

    Spécifie que l'objet prend en charge une interface personnalisée (sa table de fonctions virtuelles, vtable, possède des fonctions d'interface personnalisées). Une interface personnalisée peut être plus rapide qu'une interface double, particulièrement pour les opérations interprocessus.

    • Automation compatible   Permet aux contrôleurs Automation d'accéder à un objet prenant en charge l'interface personnalisée.

  • Prise en charge
    Indique les prises en charge supplémentaires pour l'objet.

    Option

    Description

    ISupportErrorInfo

    Crée une prise en charge pour l'interface ISupportErrorInfo afin que l'objet puisse retourner au client des informations sur les erreurs.

    Points de connexion

    Active les points de connexion pour votre objet en faisant dériver la classe de l'objet de IConnectionPointContainerImpl.

    Marshaleur libre de threads (FTM)

    Crée un objet FTM (Free-Threaded Marshaler) pour marshaler efficacement les pointeurs d'interface situés entre les threads du même processus. Disponible pour l'objet si vous spécifiez Les deux comme modèle de thread.

    IObjectWithSite (prise en charge d'objet IE)

    Implémente IObjectWithSiteImpl, ce qui permet de prendre facilement en charge la communication entre un objet et son site dans un conteneur.

Voir aussi

Tâches

Ajout d'un objet simple ATL

Référence

Objet simple ATL (Assistant)

Problèmes de threading du serveur in-process