IWEExtendWizard
COM公式ドキュメント
Failover Cluster Administrator の New Resource Wizard または Cluster Application Wizard にウィザード ページを追加するには、IWEExtendWizard インターフェイスを実装します。
解説(Remarks)
Wizard97 形式のウィザードおよびウィザード ページをサポートするには、 IWEExtendWizard97 インターフェイスを実装してください。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
ウィザード ページを作成し、Failover Cluster Administrator の New Resource Wizard または Cluster Application Wizard に追加できるようにします。
| piData | IUnknown* | in | 追加するウィザード ページに関連する情報を取得するための IUnknown インターフェイス ポインターです。piData ポインターを使って IUnknown::QueryInterface を呼び出すことで、 次のインターフェイスを利用できます。 ウィザード ページの作成対象となるクラスター オブジェクトの種類に応じて、 次のいずれかのインターフェイスへのポインターも利用できます。
|
| piCallback | IWCWizardCallback* | in | 新しいプロパティ ページをウィザードに追加するために使用する IWCWizardCallback インターフェイス の実装へのポインターです。 |
戻り値
次のいずれかの値、または処理の結果を示す任意の HRESULT を返します。
| リターン コード/値 | 説明 |
|---|---|
|
処理は成功しました。 |
|
少なくとも 1 つのパラメーターが無効です。 |
|
この拡張は、Create Group Wizard または Create Resource Wizard へのプロパティ ページの追加をサポートしていません。 |
解説(Remarks)
Wizard97 形式のウィザード ページを追加するには、 IWEExtendWizard97::CreateWizard97Pages メソッドを使用してください。
実装者向けの注意事項
追加するプロパティ ページごとに、次の手順を行います
- piData を使用して QueryInterface を呼び出し、新しいページに関連付けられた クラスター オブジェクトのインターフェイス ポインターを取得します。たとえば、リソース用のプロパティ ページを追加する場合は、 IGetClusterResourceInfo インターフェイスへのポインターを取得します。 拡張対象のオブジェクトとは無関係なデータを取得するインターフェイスへのクエリが成功する場合もありますが、 そのメソッドを呼び出そうとするとエラーが返されることを想定してください。
-
ページを作成するには、
CreatePropertySheetPage 関数を呼び出します。Cluster Administrator が提供するページと同じ外観にするには、
新しい各プロパティ ページのサイズを幅 252 ダイアログ単位、高さ 218 ダイアログ単位以下に収め、
次の 2 つの標準コントロールを含める必要があります。
- オブジェクトのアイコン用に、位置 (8,7)、サイズ (18,20) のアイコン コントロール。
- オブジェクトの名前用に、位置 (38,12)、サイズ (247,10) のスタティック コントロール。
- Cluster Administrator のウィザードにページを追加するには、piCallback ポインターを使用して IWCWizardCallback::AddWizardPage を呼び出します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWEExtendWizard "{97DEDE63-FC6B-11CF-B5F5-00A0C90AB505}"
#usecom global IWEExtendWizard IID_IWEExtendWizard "{}"
#comfunc global IWEExtendWizard_CreateWizardPages 3 sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。