Compartilhar via


Método IDataModelScript2::Execute (dbgmodel.h)

O método Execute executa o conteúdo do script conforme determinado pela última chamada populada bem-sucedida e modifica o modelo de objeto do depurador de acordo com esse conteúdo. Se o idioma (ou o provedor de script) definir uma "função principal" – aquela que o autor desejaria chamar ao clicar em um botão imaginário "Executar Script" em uma interface do usuário, essa "função principal" não será chamada durante uma operação Execute. A operação Executar pode ser considerada para executar somente manipulações de modelo de objeto e inicialização (por exemplo: executar código raiz e configurar pontos de extensibilidade). A execução de um script é uma comunicação bidirecional entre o provedor de script e o cliente de script. Erros, controle de depuração e outras semânticas são passados pelo canal de comunicação entre IDataModelScript2 e IDataModelScriptClient.

Dependendo se a operação Executar for bem-sucedida ou falhar, uma das duas coisas deve acontecer:

Para um retorno bem-sucedido:

  • O conteúdo executado anteriormente do script é liberado e esquecido
  • Quaisquer manipulações de modelo de objeto ou pontos de extensibilidade alterados como resultado da execução anterior do script são desfeitos
  • As manipulações do modelo de objeto e os pontos de extensibilidade da nova execução do script estão ativos

Para um retorno com falha:

  • Quaisquer manipulações ou pontos de extensibilidade da nova tentativa de execução do script são desfeitos
  • O estado anterior do script é restaurado. Todas as manipulações do modelo de objeto e os pontos de extensibilidade são restaurados.
  • O estado deve ser como era após a chamada populada bem-sucedida, mas antes de qualquer chamada Executar

Observe que, para um provedor de script e um ambiente de script escrito corretamente, chamar o método Execute várias vezes sem uma chamada intervindo para Popular ou Desvincular deve ser idempotente. Ou seja, chamar Executar N vezes em uma linha deve aparecer para o usuário da mesma forma que chamar Executar uma vez. A execução não deve produzir resultados de efeito colateral no estado do destino de depuração. Posteriormente, utilizar propriedades, métodos ou eventos na ponte produzida por meio do método Execute pode, de fato, produzir resultados de efeito colateral.

Sintaxe

HRESULT Execute(
  IDataModelScriptClient *client
);

Parâmetros

client

Uma interface para o cliente que solicita a execução deve ser passada aqui. Se houver erros ou outros eventos durante a execução do script, o cliente deverá ser notificado sobre eles e sua localização dentro do script por meio de métodos nessa interface.

Valor de retorno

Esse método retorna HRESULT que indica êxito ou falha.

Requisitos

Requisito Valor
cabeçalho dbgmodel.h

Consulte também

interface IDataModelScript2