Options, Assistant Objet simple ATL
Mise à jour : novembre 2007
Utilisez cette page de l'Assistant Objet simple ATL pour améliorer l'efficacité et la prise en charge des erreurs de l'objet.
Remarque : |
---|
Si vous utilisez cet Assistant avec un projet smart device, consultez Options de l'Assistant pour les options, Assistant Objet simple ATL. |
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).
Both (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.
Agrégation
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. Il s'agit de la valeur 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. Il s'agit de la valeur 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.