Assistenten-Schnittstelle (IDTWizard)
Die integrierte Entwicklungsumgebung (IDE) verwendet die IDTWizard-Schnittstelle, um Assistenten zu kommunizieren. Assistenten müssen diese Schnittstelle implementieren, um in der IDE installiert werden.
Die Execute-Methode ist die einzige Möglichkeit, die mit der IDTWizard-Schnittstelle zugeordnet ist. Assistenten implementieren diese Methode und die IDE ruft die Methode auf die Schnittstelle an. Im folgenden Beispiel wird die Signatur der Methode auf.
/* IDTWizard Method */
STDMETHOD(Execute)(THIS_
/* [in] */ IDispatch *Application,
/* [in] */ long hwndOwner,
/* [in] */ SAFEARRAY * *ContextParams,
/* [in] */ SAFEARRAY * *CustomParams,
/* [out] [in] */ wizardResult *RetVal
);
Der Mechanismus zur Anfangs- und ist für die Neues ProjektNeues Element hinzufügen Assistenten sehr ähnlich. Um ein beliebiges zu starten, nennen Sie die IDTWizard-Schnittstelle definiert in Dteinternal.h. Der einzige Unterschied ist der Satz der Kontext- und benutzerdefinierte parametern, die auf die Schnittstelle übergeben werden, wenn die Schnittstelle aufgerufen wird.
Die folgenden Informationen werden die IDTWizard-Schnittstelle, die Assistenten implementieren müssen, um im Visual Studio IDE funktionieren. Die IDE ruft die Execute-Methode im Assistenten auf und übergibt sie Folgendes:
Das DTE-Objekt
Das DTE-Objekt ist das Stammobjekt des Automatisierungsmodells dar.
Das Handle für das Fenster, wie im Dialogfeld Codesegment, hwndOwner ([in] long)gezeigt.
Der Assistent verwendet dieses hwndOwner als übergeordnetes Element für das Dialogfeld Assistenten.
Kontextparameter übergeben auf die Schnittstelle als Variante für ein SAFEARRAY Codesegment zeigt, wie im [in] SAFEARRAY (VARIANT)* ContextParams.
Kontextparameter enthalten ein Array von Werten, die für die Art des Assistenten beziehen, der gestartet wird, und den aktuellen Status des Projekts. Die IDE führt die Kontextparameter zum Assistenten. Weitere Informationen finden Sie unter Kontextparameter.
Benutzerdefinierte Übergeben von Parametern an die Schnittstelle als Variante für ein SAFEARRAY Codesegment zeigt, wie im [in] SAFEARRAY (VARIANT)* CustomParams.
Benutzerdefinierte Parameter enthalten ein Array benutzerdefinierter Parameter. Eine VSZ-Datei führt benutzerdefinierte Parameter an die IDE. Die Werte werden durch die Param=-Anweisungen bestimmt. Weitere Informationen finden Sie unter Benutzerdefinierte Parameter.
Rückgabewerte für die Schnittstelle sind
wizardResultSuccess = -1, wizardResultFailure = 0 wizardResultCancel = 1 wizardResultBackout = 2