PCLUSAPI_CLUSTER_ENUM
コールバックシグネチャ
DWORD PCLUSAPI_CLUSTER_ENUM(
HCLUSENUM hEnum,
DWORD dwIndex,
DWORD* lpdwType,
LPWSTR lpszName,
DWORD* lpcchName
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| hEnum | HCLUSENUM | ClusterOpenEnum 関数が返したクラスター列挙ハンドルです。 |
| dwIndex | DWORD | 次に列挙するエントリを識別するためのインデックスです。このパラメーターは、ClusterEnum の最初の呼び出しでは 0 とし、以降の呼び出しでは 1 ずつ増やします。 |
| lpdwType | DWORD* | 返されるオブジェクトの種類へのポインターです。呼び出しごとに、CLUSTER_ENUM 列挙型の次のいずれかの値が返されます。 CLUSTER_ENUM_NODE (1 (0x1))クラスター内のノードを列挙します。 CLUSTER_ENUM_RESTYPE (2 (0x2))クラスター内のリソースの種類を列挙します。 CLUSTER_ENUM_RESOURCE (4 (0x4))クラスター内のリソースを列挙します。 CLUSTER_ENUM_GROUP (8 (0x8))クラスター内のグループを列挙します。 CLUSTER_ENUM_NETWORK (16 (0x10))クラスター内のネットワークを列挙します。 CLUSTER_ENUM_NETINTERFACE (32 (0x20))クラスター内のネットワークインターフェイスを列挙します。 CLUSTER_ENUM_SHARED_VOLUME_RESOURCE (1073741824 (0x40000000))クラスターが使用しているクラスター共有ボリュームを列挙します。 注意 他のほとんどの列挙ビットマスクとは異なり、この値は単独で使用する必要があります。OR 演算子で他のビットマスクと組み合わせないでください。
CLUSTER_ENUM_INTERNAL_NETWORK (2147483648 (0x80000000))クラスターが内部通信に使用するネットワークを列挙します。ネットワークは、SetClusterNetworkPriorityOrder 関数で設定された優先度の高い順に列挙されます。 注意 他のほとんどの列挙ビットマスクとは異なり、この値は単独で使用する必要があります。OR 演算子で他のビットマスクと組み合わせないでください。
CLUSTER_ENUM_ALL ((CLUSTER_ENUM_NODE | CLUSTER_ENUM_RESTYPE | CLUSTER_ENUM_RESOURCE | CLUSTER_ENUM_GROUP | CLUSTER_ENUM_NETWORK | CLUSTER_ENUM_NETINTERFACE))すべてのクラスターオブジェクトを列挙します。 |
| lpszName | LPWSTR | 返されたオブジェクトの名前を格納する、null 終端の Unicode 文字列へのポインターです。 |
| lpcchName | DWORD* | lpszName バッファーのサイズを文字数で表した値へのポインターです。入力時には、終端の NULL を含めてバッファーに格納できる最大文字数を指定します。出力時には、終端の NULL を除いた、返された名前の文字数が設定されます。 |
公式ドキュメント
クラスター内のクラスターオブジェクトを列挙し、呼び出しごとに 1 つのオブジェクトの名前を返します。PCLUSAPI_CLUSTER_ENUM 型は、この関数へのポインターを定義します。
戻り値
この関数は、次のいずれかの値を返します。
| リターンコード/値 | 説明 |
|---|---|
| 操作は成功しました。 | |
|
これ以上のデータはありません。要求された種類のオブジェクトがこれ以上返されない場合に、この値が返されます。 |
|
さらにデータがあります。lpszName が指すバッファーが結果を格納するのに十分な大きさでない場合に、この値が返されます。lpcchName パラメーターには、終端の NULL を除いた結果の文字数が返されます。 |
解説(Remarks)
ClusterEnum 関数は通常、1 つ以上の種類のクラスターオブジェクトの集合を順にたどるために使用します。たとえば、アプリケーションがクラスター内のノードをすべて列挙したい場合は、ClusterOpenEnum を呼び出して、ノードを処理できるクラスター列挙子を開きます。列挙するオブジェクトの種類としてノードを指定するために、dwType パラメーターには CLUSTER_ENUM_NODE を設定します。アプリケーションがノードに加えてグループも列挙する場合は、dwType パラメーターに CLUSTER_ENUM_NODE | CLUSTER_ENUM_GROUP を設定します。アプリケーションは、ClusterOpenEnum が返すハンドルを使って ClusterEnum を繰り返し呼び出し、各オブジェクトを取得します。lpdwType パラメーターは、取得されたオブジェクトの種類を指します。
lpcchName はバイト数ではなく文字数を表し、返されるサイズには終端の NULL が含まれないことに注意してください。バッファーのサイズ指定の詳細については、Data Size Conventions を参照してください。
例
オブジェクトの列挙 を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)