PCLUSAPI_CREATE_CLUSTER_NOTIFY_PORT
コールバックシグネチャ
HCHANGE PCLUSAPI_CREATE_CLUSTER_NOTIFY_PORT(
HCHANGE hChange,
HCLUSTER hCluster,
DWORD dwFilter,
UINT_PTR dwNotifyKey
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| hChange | HCHANGE | 通知ポートのハンドル、または新しいハンドルを作成する必要があることを示す INVALID_HANDLE_VALUE を指定します。hChange が既存のハンドルである場合、dwFilter で指定されたイベントがその通知ポートに追加されます。 |
| hCluster | HCLUSTER | hChange で識別される通知ポートに関連付けるクラスターのハンドル、または通知ポートをクラスターに関連付けないことを示す INVALID_HANDLE_VALUE を指定します。hChange に INVALID_HANDLE_VALUE が設定されていない場合、hCluster に INVALID_HANDLE_VALUE を設定することはできません。 |
| dwFilter | DWORD | 通知をキューに格納する原因となるイベントを指定する、CLUSTER_CHANGE 列挙体のフラグのビットマスクです。次のフラグのうち 1 つ以上を OR 演算子で組み合わせて設定できます。また、値 CLUSTER_CHANGE_ALL を指定することで、すべてのフラグを指定することもできます。 CLUSTER_CHANGE_CLUSTER_PROPERTY (0x40000000)クラスターのプロパティが変更されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_CLUSTER_RECONNECT (0x00080000)hCluster で識別されるクラスターへの接続が、短時間の切断の後に再確立されたときに、キューが通知を受け取ります。このイベントの直前または直後に生成された一部のイベントは、失われている可能性があります。正確な状態情報を受け取るには、開いているすべての接続を閉じて、接続し直す必要があります。 CLUSTER_CHANGE_CLUSTER_STATE (0x20000000)クラスターが利用できなくなったとき、つまりクラスターとの通信の試行がすべて失敗するようになったときに、キューが通知を受け取ります。 CLUSTER_CHANGE_GROUP_ADDED (0x00004000)新しいグループがクラスター内に作成されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_GROUP_DELETED (0x00002000)既存のグループが削除されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_GROUP_PROPERTY (0x00008000)グループのプロパティが変更されたとき、またはグループにリソースが追加もしくは削除されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_GROUP_STATE (0x00001000)グループの状態が変化したときに、キューが通知を受け取ります。グループの状態として取り得る値の一覧については、GetClusterGroupState を参照してください。 CLUSTER_CHANGE_HANDLE_CLOSE (0x80000000)クラスターオブジェクトに関連付けられたハンドルが閉じられたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_NETINTERFACE_ADDED (0x04000000)新しいネットワークインターフェイスがクラスターノードに追加されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_NETINTERFACE_DELETED (0x02000000)ネットワークインターフェイスがクラスターノードから完全に削除されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_NETINTERFACE_PROPERTY (0x08000000)既存のネットワークインターフェイスのプロパティが変更されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_NETINTERFACE_STATE (0x01000000)ネットワークインターフェイスの状態が変化したときに、キューが通知を受け取ります。ネットワークインターフェイスの状態として取り得る値の一覧については、GetClusterNetInterfaceState を参照してください。 CLUSTER_CHANGE_NETWORK_ADDED (0x00400000)新しいネットワークがクラスター環境に追加されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_NETWORK_DELETED (0x00200000)ネットワークがクラスター環境から完全に削除されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_NETWORK_PROPERTY (0x00800000)既存のネットワークのプロパティが変更されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_NETWORK_STATE (0x00100000)ネットワークの状態が変化したときに、キューが通知を受け取ります。ネットワークの状態として取り得る値の一覧については、GetClusterNetworkState を参照してください。 CLUSTER_CHANGE_NODE_ADDED (0x00000004)新しいノードがクラスターに追加されたときに、キューが通知を受け取ります。ノードを追加できるのは、そのノードに Cluster サービスが最初にインストールされるときだけです。 CLUSTER_CHANGE_NODE_DELETED (0x00000002)ノードがクラスターから完全に削除されたときに、キューが通知を受け取ります。ノードは、EvictClusterNode 関数を呼び出すことで、既存のクラスターから完全に削除できます。 CLUSTER_CHANGE_NODE_PROPERTY (0x00000008)ノードのプロパティが変更されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_NODE_STATE (0x00000001)ノードの状態が変化したときに、キューが通知を受け取ります。ノードの状態として取り得る値の一覧については、GetClusterNodeState を参照してください。 CLUSTER_CHANGE_QUORUM_STATE (0x10000000)この通知は将来の使用のために予約されています。 CLUSTER_CHANGE_REGISTRY_ATTRIBUTES (0x00000020)クラスターデータベースのキーの属性が変更されたときに、キューが通知を受け取ります。現在定義されているクラスターデータベースキーの属性はセキュリティ記述子のみであり、ClusterRegSetKeySecurity で変更できます。 CLUSTER_CHANGE_REGISTRY_NAME (0x00000010)クラスターデータベースのキーの名前が変更されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_REGISTRY_SUBTREE (0x00000080)他の CLUSTER_CHANGE_REGISTRY イベントが、クラスターデータベース全体に適用されることを示します。このフラグを指定しない場合、これらのイベントは指定されたキーにのみ適用されます。 CLUSTER_CHANGE_REGISTRY_VALUE (0x00000040)指定されたクラスターデータベースキーの値が変更または削除されたときに、キューが通知を受け取ります。クラスターデータベースの値は、ClusterRegSetValue 関数で変更でき、ClusterRegDeleteValue 関数で削除できます。 CLUSTER_CHANGE_RESOURCE_ADDED (0x00000400)新しいリソースがクラスター内に作成されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_RESOURCE_DELETED (0x00000200)リソースが削除されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_RESOURCE_PROPERTY (0x00000800)リソースのプロパティ、依存関係、または可能な所有者ノードが変更されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_RESOURCE_STATE (0x00000100)リソースの状態が変化したときに、キューが通知を受け取ります。リソースの状態として取り得る値の一覧については、GetClusterResourceState を参照してください。 CLUSTER_CHANGE_RESOURCE_TYPE_ADDED (0x00020000)新しいリソースの種類がクラスター内に作成されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_RESOURCE_TYPE_DELETED (0x00010000)既存のリソースの種類が削除されたときに、キューが通知を受け取ります。 CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY (0x00040000)リソースの種類のプロパティが変更されたときに、キューが通知を受け取ります。 |
| dwNotifyKey | UINT_PTR | 通知ポートからの通知の取得に関連付けられる、ユーザー指定の値です。dwFilter で指定されたいずれかの種類のイベントが発生すると、この dwNotifyKey が GetClusterNotify から返されます。 |
公式ドキュメント
通知ポートを作成または変更します。通知ポートについては、クラスターイベントの受信を参照してください。PCLUSAPI_CREATE_CLUSTER_NOTIFY_PORT 型は、この関数へのポインターを定義します。
戻り値
操作が成功した場合、関数は通知ポートのハンドルを返します。
操作が失敗した場合、関数は NULL を返します。エラーの詳細については、GetLastError を呼び出してください。
解説(Remarks)
CreateClusterNotifyPort、GetClusterNotify、およびRegisterClusterNotify の各関数の使用方法の詳細については、クラスターイベントの受信を参照してください。
例
通知ポートの例を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)