CreateClusterNotifyPort 関数 (clusapi.h)
通知ポートを作成または変更します。 通知ポートの詳細については、「 クラスター イベントの受信」を参照してください。 PCLUSAPI_CREATE_CLUSTER_NOTIFY_PORT型は、この関数へのポインターを定義します。
構文
HCHANGE CreateClusterNotifyPort(
[in] HCHANGE hChange,
[in] HCLUSTER hCluster,
[in] DWORD dwFilter,
[in] DWORD_PTR dwNotifyKey
);
パラメーター
[in] hChange
通知ポートまたは INVALID_HANDLE_VALUEへのハンドル。新しいハンドルを作成する必要があることを示します。 hChange が既存のハンドルの場合、dwFilter で指定されたイベントが通知ポートに追加されます。
[in] hCluster
hChange によって識別される通知ポートに関連付けられるクラスターへのハンドル、または通知ポートをクラスターに関連付けないことを示すINVALID_HANDLE_VALUE。 hChange が INVALID_HANDLE_VALUE に設定されていない場合、hCluster を INVALID_HANDLE_VALUE に設定することはできません。
[in] dwFilter
通知をキューに格納する原因となるイベントを指定する CLUSTER_CHANGE 列挙から列挙されたフラグのビットマスク。 OR 演算子を使用して次の 1 つ以上のフラグを設定することも、値 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_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)
キューは、リソースの種類の プロパティ が変更されたときに通知を受け取ります。
[in] dwNotifyKey
通知ポートからの通知の取得に関連付けるユーザー指定の値。 dwFilter で指定された型のいずれかのイベントが発生すると、getClusterNotify から dwNotifyKey が返されます。
戻り値
操作が成功した場合、関数は通知ポート ハンドルを返します。
操作が失敗した場合、関数は NULL を返します。 エラーの詳細については、 GetLastError を呼び出します。
解説
CreateClusterNotifyPort、GetClusterNotify、RegisterClusterNotify 関数の使用の詳細については、「クラスター イベントの受信」を参照してください。
例
通知ポートの例を参照してください。
要件
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
対象プラットフォーム | Windows |
ヘッダー | clusapi.h |
Library | ClusAPI.lib |
[DLL] | ClusAPI.dll |