Interface do assistente (IDTWizard)
O ambiente de desenvolvimento integrado (IDE) usa a IDTWizard interface para se comunicar com assistentes. Os assistentes devem implementar essa interface para serem instalados no IDE.
O Execute método é o único método associado à IDTWizard interface. Os assistentes implementam esse método e o IDE chama o método na interface. O exemplo a seguir mostra a assinatura do método.
/* IDTWizard Method */
STDMETHOD(Execute)(THIS_
/* [in] */ IDispatch *Application,
/* [in] */ long hwndOwner,
/* [in] */ SAFEARRAY * *ContextParams,
/* [in] */ SAFEARRAY * *CustomParams,
/* [out] [in] */ wizardResult *RetVal
);
O mecanismo de início é semelhante para os assistentes Novo Projeto e Adicionar Novo Item . Para iniciar, chame a IDTWizard interface definida em Dteinternal.h. A única diferença é o conjunto de parâmetros de contexto e personalizados que são passados para a interface quando a interface é chamada.
As informações a seguir descrevem a IDTWizard interface que os assistentes devem implementar para funcionar no IDE do Visual Studio. O IDE chama o método no assistente, passando-o o Execute seguinte:
O objeto DTE
O objeto DTE é a raiz do modelo de automação.
O identificador para a caixa de diálogo da janela, conforme mostrado no segmento de código,
hwndOwner ([in] long)
.O assistente usa isso
hwndOwner
como o pai para a caixa de diálogo do assistente.Parâmetros de contexto passados para a interface como variante para SAFEARRAY, conforme mostrado no segmento de código,
[in] SAFEARRAY (VARIANT)* ContextParams
.Os parâmetros de contexto contêm uma matriz de valores específicos para o tipo de assistente que está sendo iniciado e o estado atual do projeto. O IDE passa os parâmetros de contexto para o assistente. Para obter mais informações, consulte Parâmetros de contexto.
Parâmetros personalizados passados para a interface como uma variante para SAFEARRAY, conforme mostrado no segmento de código,
[in] SAFEARRAY (VARIANT)* CustomParams
.Os parâmetros personalizados contêm uma matriz de parâmetros definidos pelo usuário. Um arquivo .vsz passa parâmetros personalizados para o IDE. Os valores são determinados pelas
Param=
instruções. Para obter mais informações, consulte Parâmetros personalizados.Os valores de retorno para a interface são
wizardResultSuccess = -1, wizardResultFailure = 0 wizardResultCancel = 1 wizardResultBackout = 2