ホーム › Networking.Clustering › IGetClusterDataInfo
IGetClusterDataInfo
COM公式ドキュメント
IGetClusterDataInfo インターフェイスは、クラスターに関する情報を取得するためにフェールオーバー クラスター アドミニストレーター拡張機能から呼び出されます。
解説(Remarks)
IGetClusterDataInfo インターフェイスは、次のメソッドの実装が クラスター アドミニストレーターから呼び出されたときに使用できます。
- IWEExtendPropertySheet::CreatePropertySheetPages
- IWEExtendContextMenu::AddContextMenuItems
- IWEExtendWizard::CreateWizardPages
- IWEExtendWizard97::CreateWizard97Pages
- IWEInvokeCommand::InvokeCommand
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
クラスターの名前を返します。(IGetClusterDataInfo.GetClusterName)
| lpszName | LPWSTR | out | クラスターの名前を格納する null で終わる Unicode 文字列へのポインター。名前の長さのみを要求する場合は NULL を指定します。BSTR として宣言されていますが、このパラメーターは LPWSTR として実装されています。 |
| pcchName | INT* | inout | 入力時は、lpszName パラメーターが指すバッファーのサイズ (文字数) へのポインター。 出力時は、NULL 終端文字を含むバッファー内の総文字数へのポインターです。 |
戻り値
GetClusterName が成功しなかった場合は、他の HRESULT 値を返すことがあります。
| 戻り値/値 | 説明 |
|---|---|
|
操作は成功しました。 |
|
1 つ以上のパラメーターが無効です。 |
|
lpszName が指すバッファーが小さすぎるため、要求された名前を格納できません。 GetClusterName は、必要な文字数を pcchName の内容として返します。 |
解説(Remarks)
lpszName パラメーターが NULL に設定され、 pcchName パラメーターが NULL でない場合、 GetClusterName メソッドは NOERROR を返します。
vtbl 4 HCLUSTER GetClusterHandle()
クラスターへのハンドルを返します。
戻り値
クラスター ハンドル。
vtbl 5 INT GetObjectCount()
選択されているクラスター オブジェクトの数を返します。
戻り値
選択されているオブジェクトの数。
解説(Remarks)
フェールオーバー クラスター アドミニストレーターは選択オブジェクトを 1 つしかサポートしないため、 GetObjectCount メソッドは常に 1 を返します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IGetClusterDataInfo "{97DEDE51-FC6B-11CF-B5F5-00A0C90AB505}" #usecom global IGetClusterDataInfo IID_IGetClusterDataInfo "{}" #comfunc global IGetClusterDataInfo_GetClusterName 3 var,var #comfunc global IGetClusterDataInfo_GetClusterHandle 4 #comfunc global IGetClusterDataInfo_GetObjectCount 5 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IGetClusterDataInfo "{97DEDE51-FC6B-11CF-B5F5-00A0C90AB505}" #usecom global IGetClusterDataInfo IID_IGetClusterDataInfo "{}" #comfunc global IGetClusterDataInfo_GetClusterName 3 sptr,sptr #comfunc global IGetClusterDataInfo_GetClusterHandle 4 #comfunc global IGetClusterDataInfo_GetObjectCount 5 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。