Funzione CreateClusterNotifyPort (clusapi.h)
Crea o modifica una porta di notifica. Per informazioni sulle porte di notifica, vedere Ricezione di eventi del cluster. Il tipo PCLUSAPI_CREATE_CLUSTER_NOTIFY_PORT definisce un puntatore a questa funzione.
Sintassi
HCHANGE CreateClusterNotifyPort(
[in] HCHANGE hChange,
[in] HCLUSTER hCluster,
[in] DWORD dwFilter,
[in] DWORD_PTR dwNotifyKey
);
Parametri
[in] hChange
Handle in una porta di notifica o INVALID_HANDLE_VALUE, che indica che deve essere creato un nuovo handle. Se hChange è un handle esistente, gli eventi specificati in dwFilter vengono aggiunti alla porta di notifica.
[in] hCluster
Gestire il cluster da associare alla porta di notifica identificata da hChange o INVALID_HANDLE_VALUE, che indica che la porta di notifica non deve essere associata a un cluster. Se hChange non è impostato su INVALID_HANDLE_VALUE, hCluster non può essere impostato su INVALID_HANDLE_VALUE.
[in] dwFilter
Maschera di bit dei flag enumerati dall'enumerazione CLUSTER_CHANGE che specifica gli eventi che causeranno l'archiviazione delle notifiche nella coda. Uno o più flag seguenti possono essere impostati usando l'operatore OR oppure è possibile specificare tutti i flag usando il valore CLUSTER_CHANGE_ALL.
CLUSTER_CHANGE_CLUSTER_PROPERTY (0x40000000)
La coda riceve una notifica quando le proprietà del cluster cambiano.
CLUSTER_CHANGE_CLUSTER_RECONNECT (0x00080000)
La coda riceve una notifica quando la connessione al cluster identificata da hCluster viene ripristinata 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 sullo stato accurate.
CLUSTER_CHANGE_CLUSTER_STATE (0x20000000)
La coda riceve una notifica quando il cluster non è disponibile, ovvero tutti i tentativi di comunicazione con il cluster non riescono.
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 cambiano o quando una risorsa viene aggiunta o rimossa da un gruppo.
CLUSTER_CHANGE_GROUP_STATE (0x00001000)
La coda riceve una notifica quando un gruppo cambia stato. Per un elenco dei valori di stato del gruppo possibili, vedere GetClusterGroupState.
CLUSTER_CHANGE_HANDLE_CLOSE (0x80000000)
La coda riceve una notifica quando viene chiuso un handle associato a un oggetto cluster .
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 le proprietà di un'interfaccia di rete esistente cambiano.
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 del cluster.
CLUSTER_CHANGE_NETWORK_DELETED (0x00200000)
La coda riceve una notifica quando una rete viene rimossa definitivamente dall'ambiente del cluster.
CLUSTER_CHANGE_NETWORK_PROPERTY (0x00800000)
La coda riceve una notifica quando le proprietà di una modifica di rete esistente.
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 viene 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)
La coda riceve una notifica quando le proprietà del nodo cambiano.
CLUSTER_CHANGE_NODE_STATE (0x00000001)
La coda riceve una notifica quando un nodo cambia stato. Per un elenco dei valori di stato del nodo possibili, vedere GetClusterNodeState.
CLUSTER_CHANGE_QUORUM_STATE (0x10000000)
Questa notifica è riservata per l'uso futuro.
CLUSTER_CHANGE_REGISTRY_ATTRIBUTES (0x00000020)
La coda riceve una notifica quando vengono modificati gli attributi della chiave del database del cluster . L'unico attributo della chiave del database del cluster attualmente definito è il descrittore di sicurezza, che può essere modificato con ClusterRegSetKeySecurity.
CLUSTER_CHANGE_REGISTRY_NAME (0x00000010)
La coda riceve una notifica quando il nome di una chiave del database del cluster è cambiato.
CLUSTER_CHANGE_REGISTRY_SUBTREE (0x00000080)
Indica che gli altri eventi CLUSTER_CHANGE_REGISTRY si applicano all'intero database del cluster. Se questo flag non è incluso, gli eventi si applicano solo alla chiave specificata.
CLUSTER_CHANGE_REGISTRY_VALUE (0x00000040)
La coda riceve una notifica quando viene modificato o eliminato un valore della chiave di database del cluster specificata. I valori del database del cluster possono essere modificati con la funzione ClusterRegSetValue ed eliminata con la funzione ClusterRegDeleteValue .
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 una risorsa viene eliminata.
CLUSTER_CHANGE_RESOURCE_PROPERTY (0x00000800)
La coda riceve una notifica quando le proprietà, le dipendenze o i possibili nodi proprietario di una risorsa cambiano.
CLUSTER_CHANGE_RESOURCE_STATE (0x00000100)
La coda riceve una notifica quando una risorsa cambia lo stato. Per un elenco dei valori di stato delle risorse possibili, vedere GetClusterResourceState.
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] dwNotifyKey
Valore specificato dall'utente da associare al recupero delle notifiche dalla porta di notifica. La dwNotifyKey viene restituita da GetClusterNotify quando si verifica un evento di uno dei tipi specificati in dwFilter .
Valore restituito
Se l'operazione ha esito positivo, la funzione restituisce un handle di porta di notifica.
Se l'operazione ha esito negativo, la funzione restituisce NULL. Per altre informazioni sull'errore, chiamare GetLastError.
Commenti
Per altre informazioni sull'uso di CreateClusterNotifyPort, GetClusterNotify e RegisterClusterNotify, vedere Ricezione di eventi cluster.
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 |