Freigeben über


RegisterClusterNotify-Funktion (clusapi.h)

Fügt der Liste der Ereignisse, die für einen Benachrichtigungsport gespeichert sind, einen Ereignistyp hinzu. Der PCLUSAPI_REGISTER_CLUSTER_NOTIFY Typ definiert einen Zeiger auf diese Funktion.

Syntax

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

Parameter

[in] hChange

Handle für einen Benachrichtigungsport, der mit der CreateClusterNotifyPort-Funktion erstellt wurde.

[in] dwFilterType

Bitmaske von Flags, die das Ereignis beschreibt, das der Gruppe von Ereignissen hinzugefügt werden soll, die derzeit vom Benachrichtigungsport überwacht werden. Weitere Informationen zu diesen Ereignistypen finden Sie unter CreateClusterNotifyPort. Der dwFilterType-Parameter kann auf eines der folgenden Flags festgelegt werden.

CLUSTER_CHANGE_CLUSTER_PROPERTY (0x40000000)

Die Warteschlange erhält eine Benachrichtigung, wenn sich die priorisierte Liste der internen Netzwerke des Clusters ändert.

CLUSTER_CHANGE_CLUSTER_RECONNECT

Die Warteschlange erhält eine Benachrichtigung, wenn die Verbindung mit dem von hCluster identifizierten Cluster nach einer kurzen Trennung wiederhergestellt wird. Einige Ereignisse, die unmittelbar vor oder nach diesem Ereignis generiert wurden, sind möglicherweise verloren gegangen. Sie müssen alle offenen Verbindungen schließen und erneut eine Verbindung herstellen, um genaue Zustandsinformationen zu erhalten.

CLUSTER_CHANGE_CLUSTER_STATE (0x20000000)

Die Warteschlange erhält eine Benachrichtigung, wenn der Cluster nicht mehr verfügbar ist, was bedeutet, dass alle Versuche, mit dem Cluster zu kommunizieren, fehlschlagen. Diese Benachrichtigung ist für die zukünftige Verwendung reserviert.

CLUSTER_CHANGE_GROUP_ADDED (0x00004000)

Die Warteschlange erhält eine Benachrichtigung, wenn eine neue Gruppe im Cluster erstellt wird.

CLUSTER_CHANGE_GROUP_DELETED (0x00002000)

Die Warteschlange erhält eine Benachrichtigung, wenn eine vorhandene Gruppe gelöscht wird.

CLUSTER_CHANGE_GROUP_PROPERTY (0x00008000)

Die Warteschlange erhält eine Benachrichtigung, wenn sich die Eigenschaften einer vorhandenen Gruppe ändern.

CLUSTER_CHANGE_GROUP_STATE (0x00001000)

Die Warteschlange erhält eine Benachrichtigung, wenn sich der Status einer Gruppe ändert.

CLUSTER_CHANGE_HANDLE_CLOSE (0x80000000)

Die Warteschlange erhält eine Benachrichtigung, wenn ein Handle für ein Clusterobjekt geschlossen wird.

CLUSTER_CHANGE_NETINTERFACE_ADDED (0x04000000)

Die Warteschlange erhält eine Benachrichtigung, wenn einem Clusterknoten eine neue Netzwerkschnittstelle hinzugefügt wird.

CLUSTER_CHANGE_NETINTERFACE_DELETED (0x02000000)

Die Warteschlange erhält eine Benachrichtigung, wenn eine Netzwerkschnittstelle dauerhaft von einem Clusterknoten entfernt wird.

CLUSTER_CHANGE_NETINTERFACE_PROPERTY (0x08000000)

Die Warteschlange erhält eine Benachrichtigung, wenn sich die Eigenschaften einer vorhandenen Netzwerkschnittstelle ändern.

CLUSTER_CHANGE_NETINTERFACE_STATE (0x01000000)

Die Warteschlange erhält eine Benachrichtigung, wenn sich der Zustand einer Netzwerkschnittstelle ändert. Eine Liste der möglichen Werte für den Netzwerkschnittstellenstatus finden Sie unter GetClusterNetInterfaceState.

CLUSTER_CHANGE_NETWORK_ADDED (0x00400000)

Die Warteschlange erhält eine Benachrichtigung, wenn der Clusterumgebung ein neues Netzwerk hinzugefügt wird.

CLUSTER_CHANGE_NETWORK_DELETED (0x00200000)

Die Warteschlange erhält eine Benachrichtigung, wenn ein Netzwerk dauerhaft aus der Clusterumgebung entfernt wird.

CLUSTER_CHANGE_NETWORK_PROPERTY (0x00800000)

Die Warteschlange erhält eine Benachrichtigung, wenn sich die Eigenschaften eines vorhandenen Netzwerks ändern.

CLUSTER_CHANGE_NETWORK_STATE (0x00100000)

Die Warteschlange erhält eine Benachrichtigung, wenn sich der Zustand eines Netzwerks ändert. Eine Liste der möglichen Netzwerkstatuswerte finden Sie unter GetClusterNetworkState.

CLUSTER_CHANGE_NODE_ADDED (0x00000004)

Die Warteschlange erhält eine Benachrichtigung, wenn dem Cluster ein neuer Knoten hinzugefügt wird. Ein Knoten kann nur hinzugefügt werden, wenn der Clusterdienst anfänglich auf dem Knoten installiert ist.

CLUSTER_CHANGE_NODE_DELETED (0x00000002)

Die Warteschlange erhält eine Benachrichtigung, wenn ein Knoten dauerhaft aus einem Cluster entfernt wird. Ein Knoten kann mit einem Aufruf der EvictClusterNode-Funktion dauerhaft aus einem vorhandenen Cluster gelöscht werden.

CLUSTER_CHANGE_NODE_PROPERTY (0x00000008)

Diese Benachrichtigung ist für die zukünftige Verwendung reserviert.

CLUSTER_CHANGE_NODE_STATE (0x00000001)

Die Warteschlange erhält eine Benachrichtigung, wenn sich der Zustand eines Knotens ändert.

CLUSTER_CHANGE_QUORUM_STATE (0x10000000)

Die Warteschlange erhält eine Benachrichtigung, wenn sich der Status der Quorumressource ändert.

CLUSTER_CHANGE_REGISTRY_ATTRIBUTES (0x00000020)

Die Warteschlange erhält eine Benachrichtigung, wenn die Attribute eines Clusterdatenbankschlüssels geändert werden.

CLUSTER_CHANGE_REGISTRY_NAME (0x00000010)

Die Warteschlange erhält eine Benachrichtigung, wenn eine Namensänderung in der Clusterdatenbank vorgenommen wird.

CLUSTER_CHANGE_REGISTRY_SUBTREE (0x00000080)

Gibt an, dass die anderen CLUSTER_CHANGE_REGISTRY Ereignisse für den Stamm der Clusterdatenbank und für alle Unterschlüssel gelten. Wenn CLUSTER_CHANGE_REGISTRY_SUBTREE nicht angegeben ist, gelten die Benachrichtigungen nur für den Stamm.

CLUSTER_CHANGE_REGISTRY_VALUE (0x00000040)

Die Warteschlange erhält eine Benachrichtigung, wenn ein Wert des angegebenen Clusterdatenbankschlüssels geändert oder gelöscht wird.

CLUSTER_CHANGE_RESOURCE_ADDED (0x00000400)

Die Warteschlange erhält eine Benachrichtigung, wenn eine neue Ressource im Cluster erstellt wird.

CLUSTER_CHANGE_RESOURCE_DELETED (0x00000200)

Die Warteschlange erhält eine Benachrichtigung, wenn eine Ressource gelöscht wird.

CLUSTER_CHANGE_RESOURCE_PROPERTY (0x00000800)

Gibt an, dass eine Benachrichtigung ausgegeben werden soll, wenn sich die Eigenschaften einer Ressource ändern.

CLUSTER_CHANGE_RESOURCE_STATE (0x00000100)

Die Warteschlange erhält eine Benachrichtigung, wenn sich der Zustand einer Ressource ändert.

CLUSTER_CHANGE_RESOURCE_TYPE_ADDED (0x00020000)

Die Warteschlange erhält eine Benachrichtigung, wenn ein neuer Ressourcentyp im Cluster erstellt wird.

CLUSTER_CHANGE_RESOURCE_TYPE_DELETED (0x00010000)

Die Warteschlange erhält eine Benachrichtigung, wenn ein vorhandener Ressourcentyp gelöscht wird.

CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY (0x00040000)

Die Warteschlange erhält eine Benachrichtigung, wenn sich die Eigenschaften eines Ressourcentyps ändern.

[in] hObject

Handle an das Failoverclusterobjekt , das von dem im dwFilterType-Parameter angegebenen Ereignis betroffen ist. Der Typ des Handles hängt vom Wert von dwFilterType ab, wie in der folgenden Liste beschrieben.

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, wenn das Flag selbst verwendet wird; Andernfalls wird das Handle, das dem Flag zugeordnet ist, mit dem CLUSTER_CHANGE_HANDLE_CLOSE kombiniert wird, zum Handletyp.

Wenn der Wert des dwFilterType-Parameters beispielsweise CLUSTER_CHANGE_GROUP_PROPERTY | CLUSTER_CHANGE_HANDLE_CLOSE ist, wird der Typ des Handles für den hObject-Parameterzu HGROUP, da das CLUSTER_CHANGE_GROUP_PROPERTY Flag dem HGROUP-Handletyp zugeordnet ist.

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

Die Clusterdatenbankfunktionen geben einen gültigen Clusterdatenbankschlüssel zurück, der zum Festlegen von hObject verwendet werden kann, wenn dwFilterType auf einen Ereignistyp festgelegt ist, der sich auf die Clusterdatenbank auswirkt.

[in] dwNotifyKey

Der Benachrichtigungsschlüssel wird von GetClusterNotify zurückgegeben, wenn das angeforderte Ereignis auftritt.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt die Funktion ERROR_SUCCESS zurück.

Wenn der Vorgang fehlschlägt, gibt die Funktion einen Systemfehlercode zurück.

Hinweise

Die RegisterClusterNotify-Funktion ermöglicht es einer Anwendung, die bereits einen Benachrichtigungsport mit CreateClusterNotifyPort erstellt hat, sich für ein zusätzliches Ereignis zu registrieren, das sich auf einen Knoten, eine Ressource oder eine Gruppe auswirkt.

Um Benachrichtigungen über Änderungen der Clusterdatenbank zu erhalten, muss mindestens eines der flags, die für die Datenbank gelten, im dwFilterType-Parameter festgelegt werden. Anwendbare Flags beginnen mit dem Präfix CLUSTER_CHANGE_REGISTRY. Durch manuelle Änderungen an der Clusterdatenbank über den Registrierungs-Editor RegEdit.exe werden keine Benachrichtigungen generiert.

Beispiele

Weitere Informationen finden Sie im Benachrichtigungsportbeispiel.

Anforderungen

   
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2008 Enterprise, Windows Server 2008 Datacenter
Zielplattform Windows
Kopfzeile clusapi.h
Bibliothek ClusAPI.lib
DLL ClusAPI.dll

Weitere Informationen

CloseClusterNotifyPort

CreateClusterNotifyPort

GetClusterNotify