Win32 API 日本語リファレンス
ホームNetworking.Clustering › IWEExtendWizard

IWEExtendWizard

COM
IID97dede63-fc6b-11cf-b5f5-00a0c90ab505継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

Failover Cluster Administrator の New Resource Wizard または Cluster Application Wizard にウィザード ページを追加するには、IWEExtendWizard インターフェイスを実装します。

解説(Remarks)

Wizard97 形式のウィザードおよびウィザード ページをサポートするには、 IWEExtendWizard97 インターフェイスを実装してください。

メソッド 1

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT CreateWizardPages(IUnknown* piData, IWCWizardCallback* piCallback)

ウィザード ページを作成し、Failover Cluster Administrator の New Resource Wizard または Cluster Application Wizard に追加できるようにします。

piDataIUnknown*in

追加するウィザード ページに関連する情報を取得するための IUnknown インターフェイス ポインターです。piData ポインターを使って IUnknown::QueryInterface を呼び出すことで、 次のインターフェイスを利用できます。

ウィザード ページの作成対象となるクラスター オブジェクトの種類に応じて、 次のいずれかのインターフェイスへのポインターも利用できます。
piCallbackIWCWizardCallback*in新しいプロパティ ページをウィザードに追加するために使用する IWCWizardCallback インターフェイス の実装へのポインターです。

戻り値

次のいずれかの値、または処理の結果を示す任意の HRESULT を返します。

リターン コード/値 説明
NOERROR
0
処理は成功しました。
E_INVALIDARG
0x80070057
少なくとも 1 つのパラメーターが無効です。
E_NOTIMPL
0x80004001
この拡張は、Create Group Wizard または Create Resource Wizard へのプロパティ ページの追加をサポートしていません。

解説(Remarks)

Wizard97 形式のウィザード ページを追加するには、 IWEExtendWizard97::CreateWizard97Pages メソッドを使用してください。

実装者向けの注意事項

追加するプロパティ ページごとに、次の手順を行います

  1. piData を使用して QueryInterface を呼び出し、新しいページに関連付けられた クラスター オブジェクトのインターフェイス ポインターを取得します。たとえば、リソース用のプロパティ ページを追加する場合は、 IGetClusterResourceInfo インターフェイスへのポインターを取得します。 拡張対象のオブジェクトとは無関係なデータを取得するインターフェイスへのクエリが成功する場合もありますが、 そのメソッドを呼び出そうとするとエラーが返されることを想定してください。
  2. ページを作成するには、 CreatePropertySheetPage 関数を呼び出します。Cluster Administrator が提供するページと同じ外観にするには、 新しい各プロパティ ページのサイズを幅 252 ダイアログ単位、高さ 218 ダイアログ単位以下に収め、 次の 2 つの標準コントロールを含める必要があります。
    • オブジェクトのアイコン用に、位置 (8,7)、サイズ (18,20) のアイコン コントロール。
    • オブジェクトの名前用に、位置 (38,12)、サイズ (247,10) のスタティック コントロール。
  3. Cluster Administrator のウィザードにページを追加するには、piCallback ポインターを使用して IWCWizardCallback::AddWizardPage を呼び出します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 指定が可能。