Condividi tramite


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

Vedi anche

CloseClusterNotifyPort

CreateClusterNotifyPort

GetClusterNotify