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

IWEExtendWizard97

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

公式ドキュメント

Failover Cluster Administrator のウィザードに Wizard97 スタイルのウィザード ページを追加するには、IWEExtendWizard97 インターフェイスを実装します。

解説(Remarks)

Wizard97 形式ではないページを作成する場合は、IWEExtendWizard を参照してください。

メソッド 1

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

vtbl 3 HRESULT CreateWizard97Pages(IUnknown* piData, IWCWizard97Callback* piCallback)

Wizard97 プロパティ ページを作成し、Failover Cluster Administrator のウィザードに追加できるようにします。

piDataIUnknown*in

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

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

戻り値

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

リターン コード/値 説明
NOERROR
0
操作は成功しました。
E_INVALIDARG
0x80070057
少なくとも 1 つのパラメーターが無効です。
E_NOTIMPL
0x80004001
この拡張機能は Wizard97 ページの追加をサポートしていません。

解説(Remarks)

実装者への注意

拡張機能が Wizard97 ページを持たず、Wizard97 以外のページのみを持つ場合は、次のいずれかを選択できます。

追加する Wizard97 プロパティ ページごとに行う手順

  1. piData を使用して QueryInterface を呼び出し、新しいページに関連付けられた オブジェクトのインターフェイス ポインターを取得します。たとえば、リソース用のプロパティ ページを追加する場合は、 IGetClusterResourceInfo インターフェイスへのポインターを取得します。 拡張対象のオブジェクトとは無関係のデータを取得するインターフェイスのクエリにも成功する場合がありますが、そのメソッドを呼び出すとエラーが返されると考えてください。
  2. ページを作成するには、CreatePropertySheetPage 関数を呼び出します。Cluster Administrator が提供するページと同じ外観にするには、 新しい Wizard97 ページはそれぞれ幅 293 ダイアログ単位、高さ 172 ダイアログ単位以下とし、(38,12) の位置にサイズ (247,10) の スタティック コントロールを配置してください。
  3. ページを Cluster Administrator のウィザードに追加するには、piCallback ポインターを使用して IWCWizard97Callback::AddWizard97Page を呼び出します。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IWEExtendWizard97 "{97DEDE68-FC6B-11CF-B5F5-00A0C90AB505}"
#usecom global IWEExtendWizard97 IID_IWEExtendWizard97 "{}"
#comfunc global IWEExtendWizard97_CreateWizard97Pages  3 sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。