CreateClusterNotifyPort-Funktion (clusapi.h)
Erstellt oder ändert einen Benachrichtigungsport. Informationen zu Benachrichtigungsports finden Sie unter Empfangen von Clusterereignissen. Der PCLUSAPI_CREATE_CLUSTER_NOTIFY_PORT Typ definiert einen Zeiger auf diese Funktion.
Syntax
HCHANGE CreateClusterNotifyPort(
[in] HCHANGE hChange,
[in] HCLUSTER hCluster,
[in] DWORD dwFilter,
[in] DWORD_PTR dwNotifyKey
);
Parameter
[in] hChange
Handle an einen Benachrichtigungsport oder INVALID_HANDLE_VALUE, der angibt, dass ein neues Handle erstellt werden soll. Wenn hChange ein vorhandenes Handle ist, werden die in dwFilter angegebenen Ereignisse dem Benachrichtigungsport hinzugefügt.
[in] hCluster
Handle an den Cluster , der dem Benachrichtigungsport zugeordnet werden soll, der von hChange identifiziert wird, oder INVALID_HANDLE_VALUE, was angibt, dass der Benachrichtigungsport nicht einem Cluster zugeordnet werden soll. Wenn hChange nicht auf INVALID_HANDLE_VALUE festgelegt ist, kann hCluster nicht auf INVALID_HANDLE_VALUE festgelegt werden.
[in] dwFilter
Bitmaske von Flags, die aus der CLUSTER_CHANGE Enumeration aufgezählt wurden, die die Ereignisse angibt, die dazu führen, dass Benachrichtigungen in der Warteschlange gespeichert werden. Eines oder mehrere der folgenden Flags können mit dem OR-Operator festgelegt werden, oder Sie können alle Flags mithilfe des Werts CLUSTER_CHANGE_ALL angeben.
CLUSTER_CHANGE_CLUSTER_PROPERTY (0x40000000)
Die Warteschlange erhält eine Benachrichtigung, wenn sich die Eigenschaften des Clusters ändern.
CLUSTER_CHANGE_CLUSTER_RECONNECT (0x00080000)
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.
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 Gruppe ändern oder wenn eine Ressource einer Gruppe hinzugefügt oder daraus entfernt wird.
CLUSTER_CHANGE_GROUP_STATE (0x00001000)
Die Warteschlange erhält eine Benachrichtigung, wenn sich der Status einer Gruppe ändert. Eine Liste der möglichen Gruppenstatuswerte finden Sie unter GetClusterGroupState.
CLUSTER_CHANGE_HANDLE_CLOSE (0x80000000)
Die Warteschlange erhält eine Benachrichtigung, wenn ein Handle geschlossen wird, das einem Clusterobjekt zugeordnet ist.
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)
Die Warteschlange erhält eine Benachrichtigung, wenn sich die Eigenschaften des Knotens ändern.
CLUSTER_CHANGE_NODE_STATE (0x00000001)
Die Warteschlange erhält eine Benachrichtigung, wenn sich der Zustand eines Knotens ändert. Eine Liste der möglichen Knotenstatuswerte finden Sie unter GetClusterNodeState.
CLUSTER_CHANGE_QUORUM_STATE (0x10000000)
Diese Benachrichtigung ist für die zukünftige Verwendung reserviert.
CLUSTER_CHANGE_REGISTRY_ATTRIBUTES (0x00000020)
Die Warteschlange erhält eine Benachrichtigung, wenn die Attribute eines Clusterdatenbankschlüssels geändert werden. Das einzige derzeit definierte Clusterdatenbankschlüssel-Attribut ist dessen Sicherheitsdeskriptor, der mit ClusterRegSetKeySecurity geändert werden kann.
CLUSTER_CHANGE_REGISTRY_NAME (0x00000010)
Die Warteschlange erhält eine Benachrichtigung, wenn sich der Name eines Clusterdatenbankschlüssels geändert hat.
CLUSTER_CHANGE_REGISTRY_SUBTREE (0x00000080)
Gibt an, dass die anderen CLUSTER_CHANGE_REGISTRY Ereignisse für die gesamte Clusterdatenbank gelten. Wenn dieses Flag nicht enthalten ist, gelten die Ereignisse nur für den angegebenen Schlüssel.
CLUSTER_CHANGE_REGISTRY_VALUE (0x00000040)
Die Warteschlange erhält eine Benachrichtigung, wenn ein Wert des angegebenen Clusterdatenbankschlüssels geändert oder gelöscht wird. Clusterdatenbankwerte können mit der Funktion ClusterRegSetValue geändert und mit der Funktion ClusterRegDeleteValue gelöscht werden.
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)
Die Warteschlange erhält eine Benachrichtigung, wenn sich die Eigenschaften, Abhängigkeiten oder mögliche Besitzerknoten einer Ressource ändern.
CLUSTER_CHANGE_RESOURCE_STATE (0x00000100)
Die Warteschlange erhält eine Benachrichtigung, wenn sich der Zustand einer Ressource ändert. Eine Liste der möglichen Ressourcenzustandswerte finden Sie unter GetClusterResourceState.
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] dwNotifyKey
Ein benutzerdefinierter Wert, der dem Abrufen von Benachrichtigungen vom Benachrichtigungsport zugeordnet werden soll. DwNotifyKey wird von GetClusterNotify zurückgegeben, wenn ein Ereignis eines der in dwFilter angegebenen Typen auftritt.
Rückgabewert
Wenn der Vorgang erfolgreich ist, gibt die Funktion ein Benachrichtigungsporthandle zurück.
Wenn der Vorgang fehlschlägt, gibt die Funktion NULL zurück. Rufen Sie GetLastError auf, um weitere Informationen zum Fehler zu erhalten.
Hinweise
Weitere Informationen zur Verwendung der Funktionen CreateClusterNotifyPort, GetClusterNotify und RegisterClusterNotify finden Sie unter Empfangen von Clusterereignissen.
Beispiele
Sehen Sie sich das Beispiel für den Benachrichtigungsport an.
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 |