RegisterClusterNotify 関数 (clusapi.h)

通知ポートに格納されているイベントの一覧にイベントの種類を追加します。 PCLUSAPI_REGISTER_CLUSTER_NOTIFY型は、この関数へのポインターを定義します。

構文

DWORD RegisterClusterNotify(
  [in] HCHANGE   hChange,
  [in] DWORD     dwFilterType,
  [in] HANDLE    hObject,
  [in] DWORD_PTR dwNotifyKey
);

パラメーター

[in] hChange

CreateClusterNotifyPort 関数を使用して作成された通知ポートを処理します。

[in] dwFilterType

通知ポートによって現在監視されているイベントのセットに追加されるイベントを記述するフラグのビットマスク。 これらのイベントの種類の詳細については、「 CreateClusterNotifyPort」を参照してください。 dwFilterType パラメーターは、次のいずれかのフラグに設定できます。

CLUSTER_CHANGE_CLUSTER_PROPERTY (0x40000000)

クラスターの内部 ネットワーク の優先順位付けされた一覧が変更されると、キューは通知を受け取ります。

CLUSTER_CHANGE_CLUSTER_RECONNECT

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)

キューは、グループの状態が変更されたときに通知を受け取ります。

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)

ノードが状態を変更すると、キューは通知を受け取ります。

CLUSTER_CHANGE_QUORUM_STATE (0x10000000)

クォーラム リソースの状態が変更されると、キューは通知を受け取ります。

CLUSTER_CHANGE_REGISTRY_ATTRIBUTES (0x00000020)

クラスター データベース キーの属性が変更されると、キューは通知を受け取ります。

CLUSTER_CHANGE_REGISTRY_NAME (0x00000010)

クラスター データベースで名前の変更が行われると、キューは通知を受け取ります。

CLUSTER_CHANGE_REGISTRY_SUBTREE (0x00000080)

他のCLUSTER_CHANGE_REGISTRY イベントがクラスター データベースのルートとすべてのサブキーに適用されることを示します。 CLUSTER_CHANGE_REGISTRY_SUBTREEが指定されていない場合、通知はルートにのみ適用されます。

CLUSTER_CHANGE_REGISTRY_VALUE (0x00000040)

指定したクラスター データベース キーの値が変更または削除されると、キューは通知を受け取ります。

CLUSTER_CHANGE_RESOURCE_ADDED (0x00000400)

クラスターに新しい リソース が作成されると、キューは通知を受け取ります。

CLUSTER_CHANGE_RESOURCE_DELETED (0x00000200)

リソースが削除されると、キューは通知を受け取ります。

CLUSTER_CHANGE_RESOURCE_PROPERTY (0x00000800)

リソースの プロパティ が変更されたときに通知を発行する必要があることを示します。

CLUSTER_CHANGE_RESOURCE_STATE (0x00000100)

リソースの状態が変更されると、キューは通知を受け取ります。

CLUSTER_CHANGE_RESOURCE_TYPE_ADDED (0x00020000)

クラスターに新しい リソースの種類 が作成されると、キューは通知を受け取ります。

CLUSTER_CHANGE_RESOURCE_TYPE_DELETED (0x00010000)

キューは、既存のリソースの種類が削除されると通知を受け取ります。

CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY (0x00040000)

キューは、リソースの種類の プロパティ が変更されたときに通知を受け取ります。

[in] hObject

dwFilterType パラメーターで指定されたイベントの影響を受けるフェールオーバー クラスター オブジェクトを処理します。 ハンドルの種類は、次の一覧で説明するように dwFilterType の値によって異なります。

CLUSTER_CHANGE_CLUSTER_PROPERTY

HCLUSTER

CLUSTER_CHANGE_CLUSTER_STATE

HCLUSTER

CLUSTER_CHANGE_GROUP_DELETED

HGROUP

CLUSTER_CHANGE_GROUP_PROPERTY

HGROUP

CLUSTER_CHANGE_GROUP_STATE

HGROUP

CLUSTER_CHANGE_HANDLE_CLOSE

HCLUSTER(フラグが単独で使用される場合)。それ以外の場合は、 CLUSTER_CHANGE_HANDLE_CLOSE が組み合わされたフラグに関連付けられているハンドルがハンドルの種類になります。

たとえば、dwFilterType パラメーターの値がCLUSTER_CHANGE_HANDLE_CLOSE CLUSTER_CHANGE_GROUP_PROPERTY | 場合、CLUSTER_CHANGE_GROUP_PROPERTY フラグは HGROUP ハンドル型に関連付けられているため、hObject パラメーターのハンドルの種類は HGROUP になります。

CLUSTER_CHANGE_NODE_DELETED

HNODE

CLUSTER_CHANGE_NODE_PROPERTY

HNODE

CLUSTER_CHANGE_NODE_STATE

HNODE

CLUSTER_CHANGE_REGISTRY_ATTRIBUTES

Hkey

CLUSTER_CHANGE_REGISTRY_NAME

Hkey

CLUSTER_CHANGE_REGISTRY_SUBTREE

Hkey

CLUSTER_CHANGE_REGISTRY_VALUE

Hkey

CLUSTER_CHANGE_RESOURCE_DELETED

HRESOURCE

CLUSTER_CHANGE_RESOURCE_PROPERTY

HRESOURCE

CLUSTER_CHANGE_RESOURCE_STATE

HRESOURCE

クラスター データベース関数は、dwFilterType がクラスター データベースに影響するイベントの種類に設定されている場合に hObject を設定するために使用できる有効なクラスター データベース キーを返します。

[in] dwNotifyKey

要求されたイベントが発生したときに GetClusterNotify から返される通知キー。

戻り値

操作が成功した場合、関数は ERROR_SUCCESSを返します。

操作が失敗した場合、関数は システム エラー コードを返します。

解説

RegisterClusterNotify 関数を使用すると、CreateClusterNotifyPort を使用して通知ポートが既に作成されているアプリケーションで、ノード、リソース、またはグループに影響する追加のイベントを登録できます。

クラスター データベースの変更の通知を受信するには、データベースに適用できる 1 つ以上のフラグを dwFilterType パラメーターに設定する必要があります。 適用可能なフラグは、プレフィックス CLUSTER_CHANGE_REGISTRYで始まります。 レジストリ エディターを使用してクラスター データベースを手動で変更 RegEdit.exe、通知は生成されません。

例

通知ポートの例を参照してください。

要件

   
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2008 Enterprise、Windows Server 2008 Datacenter
対象プラットフォーム Windows
ヘッダー clusapi.h
Library ClusAPI.lib
[DLL] ClusAPI.dll

関連項目

CloseClusterNotifyPort

CreateClusterNotifyPort

GetClusterNotify