Comment : Fournissez l'automation pour windows
vous pouvez fournir l'automation pour le document et les fenêtres Outil. Le fait de fournir l'automatisation est recommandée chaque fois que vous souhaitez rendre les objets Automation disponibles dans une fenêtre, et d'environnement ne fournit pas déjà un objet Automation prêt à l'emploi, comme c'est le cas avec une liste de tâches.
Automation pour les fenêtres Outil
L'environnement fournit l'automation dans une fenêtre Outil en retournant un objet standard d' Window comme indiqué dans la procédure suivante :
Pour fournir l'automation pour les fenêtres Outil
Appelez la méthode d' GetProperty via l'environnement avec VSFPROPID_ExtWindowObject comme paramètre d' VSFPROPID pour obtenir l'objet d' Window .
Lorsqu'un appelant demande un objet Automation de VSPackage-détail pour votre fenêtre Outil via Object, l'environnement appelle QueryInterface pour IExtensibleObject, IVsExtensibleObject, ou les interfaces d' IDispatch . IExtensibleObject et IVsExtensibleObject fournissent une méthode d' GetAutomationObject .
Lorsque l'environnement appelle ensuite la méthode d' GetAutomationObject passant NULL, répondez en passant en arrière votre objet de VSPackage-détail.
Si l'appel QueryInterface pour IExtensibleObject et de échec d' IVsExtensibleObject , l'environnement appelle QueryInterface pour IDispatch.
Automation pour les fenêtres de document
Un objet d' Document standard est également disponible à partir de l'environnement, bien qu'un éditeur peut avoir sa propre implémentation de l'objet d' T:EnvDTE.Document en implémentant l'interface d' IExtensibleObject et la réponse à GetAutomationObject.
En outre, un éditeur peut fournir un objet Automation de VSPackage-détail, récupérées par le biais de la méthode d' Object , en implémentant les interfaces d' IVsExtensibleObject ou d' IExtensibleObject . Exemples d'extensibilité Visual Studio fournit un objet Automation de document-détail RTF.