Contratos de comando em assemblies de interop

O contrato básico para manipular comandos por meio da interface é que o ambiente chama o método para determinar se o comando tem suporte e, se ele tem suporte, para determinar seu estado IOleCommandTarget QueryStatus e texto. Em seguida, o ambiente chama Exec o método para executar o comando.

O QueryStatus método é tratado de forma idêntica para todos os comandos. Comunicação posterior, se necessário (por exemplo, com listas listadas), é gerenciada chamando o Exec método com parâmetros apropriados. A interpretação desses parâmetros depende do comando especificado.

Se o destino do comando retornar valores no parâmetro de saída, o chamador sempre será responsável por liberar todos os recursos que foram alocados. Como esse parâmetro é uma variante, limpar a variante libera os recursos.

Nos casos em que os comandos devem operar em uma janela de hierarquia, a IVsUIHierarchy interface deve ser usada. A IVsUIHierarchy interface tem um contrato semelhante com métodos semelhantes: e QueryStatusCommand ExecCommand .

Confira também