ViewFilter.ExecCommand, méthode
Exécute la commande spécifiée.
Espace de noms : Microsoft.VisualStudio.Package
Assemblys : Microsoft.VisualStudio.Package.LanguageService (dans Microsoft.VisualStudio.Package.LanguageService.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (dans Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Microsoft.VisualStudio.Package.LanguageService.9.0 (dans Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (dans Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Syntaxe
'Déclaration
Protected Overridable Function ExecCommand ( _
ByRef guidCmdGroup As Guid, _
nCmdId As UInteger, _
nCmdexecopt As UInteger, _
pvaIn As IntPtr, _
pvaOut As IntPtr _
) As Integer
protected virtual int ExecCommand(
ref Guid guidCmdGroup,
uint nCmdId,
uint nCmdexecopt,
IntPtr pvaIn,
IntPtr pvaOut
)
Paramètres
- guidCmdGroup
Type : System.Guid%
[in] GUID du groupe de commandes.
- nCmdId
Type : System.UInt32
[in] L'IDENTIFICATEUR spécifique de la commande du groupe de commandes.Cela identifie la commande d'exécuter.
- nCmdexecopt
Type : System.UInt32
[in] paramètres supplémentaires pour la commande (comprimée en une valeur 32 bits).
- pvaIn
Type : System.IntPtr
[in] un pointeur démarshalé à un objet d'Variant maintenant tous paramètres requis par la commande.Cela peut être une valeur NULL indiquant il n'existe aucun paramètre supplémentaire.
- pvaOut
Type : System.IntPtr
[in, out] un pointeur démarshalé à un objet d'Variant pour maintenir le résultat de la commande éventuelle.
Valeur de retour
Type : System.Int32
Si réussi, retours S_OK ; sinon, retours code d'erreur.
Remarques
Cette méthode est appelée pour exécuter une commande particulière.En général cette méthode si le premier appel la méthode d'HandlePreExec, puis un certain tri de méthode d'exécution, et enfin de la méthode d'HandlePostExec.Si la commande n'est pas gérée par l'un de ces, la commande doit être passée en fonction à la cible de la commande suivante.
De méthode de base les appels d'abord la méthode d'IsExpansionUIActive à déterminer si une interface utilisateur (UI) d'expansion est actif.Si oui, la méthode de base transmet immédiatement la commande à la cible de la commande suivante et retourne le résultat.Sinon, la méthode de base obtient l'objet d'ExpansionProvider et, si cet objet existe, appelle sa méthode d'HandlePreExec.Elle que la méthode d'HandlePreExec d'entity_T : Microsoft.VisualStudio.Package.ExpansionProvider indique la commande a été gérée, les retours de méthode de base immédiatement.
Si ni l'expansion interface utilisateur ni l'ExpansionProvider n'est actif, la méthode de base appelle la méthode d'HandlePreExec.Si l'HandlePreExec ne gère pas la commande, la commande est passée en fonction à la cible de la commande suivante.La méthode de base appelle ensuite la méthode d'HandlePostExec sur l'objet d'ExpansionProvider (si elle existe) avant d'appeler la méthode d'HandlePostExec.
La méthode de base gère également le cas particulier d'une clé d'Entrée appuyée sur pendant qu'un jeu de saisies semi-automatiques est ouvert mais rien n'est sélectionné dans l'ensemble ; dans ce cas, la clé d'Entrée doit être ajoutée au fichier source et cela est fait en passant la commande à la cible de la commande suivante une deuxième fois (la première fois ferme le jeu de saisies semi-automatiques et consomme la touche Entrée).
Cette méthode est en général appelée de l'implémentation interne de classe de base de la méthode d'Exec sur l'interface d'IOleCommandTarget.
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.