ウィザード インターフェイス (IDTWizard)
統合開発環境 (IDE) では、IDTWizard インターフェイスを使用してウィザードと通信します。 IDE でインストールされるために、ウィザードはこのインターフェイスを実装する必要があります。
Execute メソッドは、IDTWizard インターフェイスに関連付けられている唯一のメソッドです。 ウィザードではこのメソッドを実装し、IDE ではインターフェイスに対してメソッドを呼び出します。 次の例は、メソッドのシグネチャを示しています。
/* IDTWizard Method */
STDMETHOD(Execute)(THIS_
/* [in] */ IDispatch *Application,
/* [in] */ long hwndOwner,
/* [in] */ SAFEARRAY * *ContextParams,
/* [in] */ SAFEARRAY * *CustomParams,
/* [out] [in] */ wizardResult *RetVal
);
起動メカニズムは、[新しいプロジェクト] ウィザードと [新しい項目の追加] ウィザードの両方で同様です。 いずれかを起動するには、Dteinternal.h で定義されている IDTWizard インターフェイスを呼び出します。 唯一の違いは、インターフェイスが呼び出されるときにインターフェイスに渡されるコンテキストとカスタム パラメーターのセットです。
以下の情報では、Visual Studio IDE で動作するためにウィザードで実装する必要がある IDTWizard インターフェイスについて説明します。 IDE では、ウィザードで Execute メソッドを呼び出し、以下を渡します。
DTE オブジェクト
DTE オブジェクトは、オートメーション モデルのルートです。
コード セグメント
hwndOwner ([in] long)
に示されている、ウィンドウ ダイアログ ボックスのハンドル。ウィザードでは、この
hwndOwner
をウィザード ダイアログ ボックスの親として使用します。コード セグメント
[in] SAFEARRAY (VARIANT)* ContextParams
に示されている、SAFEARRAY のバリアントとしてインターフェイスに渡されるコンテキスト パラメーター。コンテキスト パラメーターには、起動中のウィザードの種類に固有の値の配列とプロジェクトの現在の状態が含まれます。 IDE により、コンテキスト パラメーターがウィザードに渡されます。 詳細については、「コンテキスト パラメーター」を参照してください。
コード セグメント
[in] SAFEARRAY (VARIANT)* CustomParams
に示されている、SAFEARRAY のバリアントとしてインターフェイスに渡されるカスタム パラメーター。カスタム パラメーターには、ユーザー定義パラメーターの配列が含まれます。 .vsz ファイルにより、IDE にカスタム パラメーターが渡されます。 値は、
Param=
ステートメントによって決定されます。 詳細については、「カスタム パラメーター」を参照してください。インターフェイスの戻り値は次のとおりです
wizardResultSuccess = -1, wizardResultFailure = 0 wizardResultCancel = 1 wizardResultBackout = 2