Funzione RegisterClusterNotify (clusapi.h)
Aggiunge un tipo di evento all'elenco di eventi archiviati per una porta di notifica. Il tipo PCLUSAPI_REGISTER_CLUSTER_NOTIFY definisce un puntatore a questa funzione.
Sintassi
DWORD RegisterClusterNotify(
[in] HCHANGE hChange,
[in] DWORD dwFilterType,
[in] HANDLE hObject,
[in] DWORD_PTR dwNotifyKey
);
Parametri
[in] hChange
Gestire in una porta di notifica creata con la funzione CreateClusterNotifyPort .
[in] dwFilterType
Maschera di bit di flag che descrive l'evento da aggiungere al set di eventi attualmente monitorati dalla porta di notifica. Per altre informazioni su questi tipi di evento, vedere CreateClusterNotifyPort. Il parametro dwFilterType può essere impostato su uno dei flag seguenti.
CLUSTER_CHANGE_CLUSTER_PROPERTY (0x40000000)
La coda riceve una notifica quando cambia l'elenco di reti interne con priorità del cluster.
CLUSTER_CHANGE_CLUSTER_RECONNECT
La coda riceve una notifica quando la connessione al cluster identificato da hCluster viene ristabilita dopo una breve disconnessione. Alcuni eventi generati immediatamente prima o dopo questo evento potrebbero essere stati persi. È necessario chiudere tutte le connessioni aperte e riconnettersi per ricevere informazioni accurate sullo stato.
CLUSTER_CHANGE_CLUSTER_STATE (0x20000000)
La coda riceve una notifica quando il cluster diventa non disponibile, ovvero tutti i tentativi di comunicazione con il cluster hanno esito negativo. Questa notifica è riservata per uso futuro.
CLUSTER_CHANGE_GROUP_ADDED (0x00004000)
La coda riceve una notifica quando viene creato un nuovo gruppo nel cluster.
CLUSTER_CHANGE_GROUP_DELETED (0x00002000)
La coda riceve una notifica quando viene eliminato un gruppo esistente.
CLUSTER_CHANGE_GROUP_PROPERTY (0x00008000)
La coda riceve una notifica quando le proprietà di un gruppo esistente cambiano.
CLUSTER_CHANGE_GROUP_STATE (0x00001000)
La coda riceve una notifica quando un gruppo cambia stato.
CLUSTER_CHANGE_HANDLE_CLOSE (0x80000000)
La coda riceve una notifica quando un handle a un oggetto cluster viene chiuso.
CLUSTER_CHANGE_NETINTERFACE_ADDED (0x04000000)
La coda riceve una notifica quando viene aggiunta una nuova interfaccia di rete a un nodo del cluster.
CLUSTER_CHANGE_NETINTERFACE_DELETED (0x02000000)
La coda riceve una notifica quando un'interfaccia di rete viene rimossa definitivamente da un nodo del cluster.
CLUSTER_CHANGE_NETINTERFACE_PROPERTY (0x08000000)
La coda riceve una notifica quando cambiano le proprietà di un'interfaccia di rete esistente.
CLUSTER_CHANGE_NETINTERFACE_STATE (0x01000000)
La coda riceve una notifica quando un'interfaccia di rete cambia stato. Per un elenco dei possibili valori dello stato dell'interfaccia di rete, vedere GetClusterNetInterfaceState.
CLUSTER_CHANGE_NETWORK_ADDED (0x00400000)
La coda riceve una notifica quando viene aggiunta una nuova rete all'ambiente cluster.
CLUSTER_CHANGE_NETWORK_DELETED (0x00200000)
La coda riceve una notifica quando una rete viene rimossa definitivamente dall'ambiente cluster.
CLUSTER_CHANGE_NETWORK_PROPERTY (0x00800000)
La coda riceve una notifica quando le proprietà di una rete esistente cambiano.
CLUSTER_CHANGE_NETWORK_STATE (0x00100000)
La coda riceve una notifica quando una rete cambia stato. Per un elenco dei possibili valori dello stato di rete, vedere GetClusterNetworkState.
CLUSTER_CHANGE_NODE_ADDED (0x00000004)
La coda riceve una notifica quando viene aggiunto un nuovo nodo al cluster. Un nodo può essere aggiunto solo quando il servizio cluster è inizialmente installato nel nodo.
CLUSTER_CHANGE_NODE_DELETED (0x00000002)
La coda riceve una notifica quando un nodo viene rimosso definitivamente da un cluster. Un nodo può essere eliminato definitivamente da un cluster esistente con una chiamata alla funzione EvictClusterNode .
CLUSTER_CHANGE_NODE_PROPERTY (0x00000008)
Questa notifica è riservata per uso futuro.
CLUSTER_CHANGE_NODE_STATE (0x00000001)
La coda riceve una notifica quando un nodo cambia stato.
CLUSTER_CHANGE_QUORUM_STATE (0x10000000)
La coda riceve una notifica quando la risorsa quorum cambia stato.
CLUSTER_CHANGE_REGISTRY_ATTRIBUTES (0x00000020)
La coda riceve una notifica quando vengono modificati gli attributi di una chiave del database del cluster .
CLUSTER_CHANGE_REGISTRY_NAME (0x00000010)
La coda riceve una notifica quando viene apportata una modifica a un nome nel database del cluster.
CLUSTER_CHANGE_REGISTRY_SUBTREE (0x00000080)
Indica che gli altri eventi CLUSTER_CHANGE_REGISTRY si applicano alla radice del database del cluster e a tutte le sottochiavi. Se non viene specificato CLUSTER_CHANGE_REGISTRY_SUBTREE, le notifiche si applicano solo alla radice.
CLUSTER_CHANGE_REGISTRY_VALUE (0x00000040)
La coda riceve una notifica quando viene modificato o eliminato un valore della chiave del database cluster specificata.
CLUSTER_CHANGE_RESOURCE_ADDED (0x00000400)
La coda riceve una notifica quando viene creata una nuova risorsa nel cluster.
CLUSTER_CHANGE_RESOURCE_DELETED (0x00000200)
La coda riceve una notifica quando viene eliminata una risorsa .
CLUSTER_CHANGE_RESOURCE_PROPERTY (0x00000800)
Indica che deve essere inviata una notifica quando le proprietà di una risorsa cambiano .
CLUSTER_CHANGE_RESOURCE_STATE (0x00000100)
La coda riceve una notifica quando una risorsa cambia stato.
CLUSTER_CHANGE_RESOURCE_TYPE_ADDED (0x00020000)
La coda riceve una notifica quando viene creato un nuovo tipo di risorsa nel cluster.
CLUSTER_CHANGE_RESOURCE_TYPE_DELETED (0x00010000)
La coda riceve una notifica quando viene eliminato un tipo di risorsa esistente.
CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY (0x00040000)
La coda riceve una notifica quando le proprietà di un tipo di risorsa cambiano.
[in] hObject
Handle per l'oggetto cluster di failover interessato dall'evento specificato nel parametro dwFilterType . Il tipo di handle dipende dal valore di dwFilterType , come descritto nell'elenco seguente.
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, se il flag viene usato da solo; in caso contrario, l'handle associato al flag che CLUSTER_CHANGE_HANDLE_CLOSE viene combinato con diventa il tipo di handle.
Ad esempio, se il valore del parametro dwFilterType è CLUSTER_CHANGE_GROUP_PROPERTY | CLUSTER_CHANGE_HANDLE_CLOSE, il tipo di handle per il parametro hObject diventa HGROUP, perché il flag CLUSTER_CHANGE_GROUP_PROPERTY è associato al tipo di handle 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
Le funzioni del database cluster restituiscono una chiave di database cluster valida che può essere usata per impostare hObject quando dwFilterType è impostato su un tipo di evento che interessa il database del cluster.
[in] dwNotifyKey
Chiave di notifica restituita da GetClusterNotify quando si verifica l'evento richiesto.
Valore restituito
Se l'operazione ha esito positivo, la funzione restituisce ERROR_SUCCESS.
Se l'operazione non riesce, la funzione restituisce un codice di errore di sistema.
Commenti
La funzione RegisterClusterNotify consente a un'applicazione che ha già creato una porta di notifica con CreateClusterNotifyPort di registrarsi per un evento aggiuntivo che influisce su un nodo, una risorsa o un gruppo.
Per ricevere notifiche di modifiche al database del cluster , è necessario impostare uno o più flag applicabili al database nel parametro dwFilterType . I flag applicabili iniziano con il prefisso CLUSTER_CHANGE_REGISTRY. Apportare modifiche manuali al database del cluster tramite l'editor del Registro di sistema, RegEdit.exe, non genera notifiche.
Esempio
Vedere l'esempio di porta di notifica.
Requisiti
Client minimo supportato | Nessuno supportato |
Server minimo supportato | Windows Server 2008 Enterprise, Windows Server 2008 Datacenter |
Piattaforma di destinazione | Windows |
Intestazione | clusapi.h |
Libreria | ClusAPI.lib |
DLL | ClusAPI.dll |