Interface de assistente (IDTWizard)
O ambiente de desenvolvimento integrado (IDE) usa a IDTWizard interface para se comunicar com os assistentes. Assistentes devem implementar essa interface para ser instalada no IDE.
O Execute é o único método associado com o IDTWizard interface. Assistentes implementam este 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 ambos os Novo projeto e Add New Item assistentes. Para começar, você chamar o IDTWizard interface definida em Dteinternal.h. A única diferença é o conjunto de parâmetros personalizados que são passados para a interface quando a interface é chamada e o contexto.
As informações a seguir descrevem o IDTWizard interface assistentes devem implementar para trabalhar na Visual Studio IDE. As chamadas do IDE a Execute método no assistente, passando-o seguinte:
O objeto DTE
O objeto DTE é a raiz do modelo de automação.
A alça para a caixa de diálogo de janela conforme mostrado no segmento de código, hwndOwner ([in] long).
O assistente usa esse hwndOwner como pai para a caixa de diálogo do assistente.
Contexto parâmetros passados para a interface como variante de SAFEARRAY como mostrado no segmento de código, [in] SAFEARRAY (VARIANT)* ContextParams.
Parâmetros de contexto contém uma matriz de valores que são 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.
Personalizado parâmetros passados para a interface como uma variante de SAFEARRAY como mostrado no segmento de código, [in] SAFEARRAY (VARIANT)* CustomParams.
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 pelo 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