IWCWizard97Callback
COM公式ドキュメント
IWCWizard97Callback インターフェイスは、フェールオーバー クラスター アドミニストレーターの拡張機能が、Cluster Application Wizard などの Wizard97 ウィザードに Wizard97 プロパティ ページを追加するために呼び出されます。
解説(Remarks)
Cluster Administrator が IWEExtendWizard97::CreateWizard97Pages メソッドを呼び出したときに受け取る piCallback ポインターを使用して、 IWCWizard97Callback インターフェイスのメソッドを呼び出します。
Wizard97 以外のページを追加するには IWCWizardCallback を使用します。
メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
Failover Cluster Application Wizard などの Wizard97 ウィザードに Wizard97 プロパティ ページを追加します。
| hpage | INT* | in | 追加するプロパティ ページのハンドル。 |
戻り値
AddWizard97Page が成功しなかった場合は、 ほかの HRESULT 値を返すことがあります。
| 戻り値/値 | 説明 |
|---|---|
|
操作は成功しました。 |
|
hpage パラメーターが不明なページを表しています。 |
解説(Remarks)
フェールオーバー クラスター アドミニストレーター の拡張機能は、 IWEExtendWizard97::CreateWizard97Pages メソッド内から AddWizard97Page メソッドを呼び出します。 AddWizard97Page を呼び出す前に、拡張機能は CreatePropertySheetPage 関数を呼び出して、 hpage パラメーターに渡すハンドルを取得する必要があります。
Wizard97 以外のページを追加するには、 IWCWizardCallback::AddWizardPage を使用します。
現在のページが最後かどうかに応じて、Wizard97 ウィザード ページの [次へ] ボタンまたは [完了] ボタンを有効または無効にします。
| hpage | INT* | in | 有効または無効にするボタンを含むプロパティ ページのハンドル。 |
| bEnable | BOOL | in | ボタンを有効にするか無効にするかを示す値。bEnable が TRUE に設定されている場合、該当するボタンが有効になります。bEnable が FALSE に設定されている場合は無効になります。 |
戻り値
EnableNext が成功しなかった場合は、ほかの HRESULT 値を返すことがあります。
| 戻り値/値 | 説明 |
|---|---|
|
操作は成功しました。 |
|
hpage パラメーターが不明なページを表しています。 |
解説(Remarks)
拡張機能は、フェールオーバー クラスター アドミニストレーター ウィザードに追加したプロパティ ページの PSN_SETACTIVE メッセージを処理する中で EnableNext メソッドを呼び出す必要があります。 フェールオーバー クラスター アドミニストレーター は、 hpage パラメーターで指定されたページに基づいて、[次へ] ボタンと [完了] ボタンのどちらを表示すべきかを判断します。
Wizard97 以外のページには、 IWCWizardCallback::EnableNext を使用します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWCWizard97Callback "{97DEDE67-FC6B-11CF-B5F5-00A0C90AB505}" #usecom global IWCWizard97Callback IID_IWCWizard97Callback "{}" #comfunc global IWCWizard97Callback_AddWizard97Page 3 var #comfunc global IWCWizard97Callback_EnableNext 4 var,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWCWizard97Callback "{97DEDE67-FC6B-11CF-B5F5-00A0C90AB505}" #usecom global IWCWizard97Callback IID_IWCWizard97Callback "{}" #comfunc global IWCWizard97Callback_AddWizard97Page 3 sptr #comfunc global IWCWizard97Callback_EnableNext 4 sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。