Condividi tramite


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

Vedi anche

CLUSTER_CHANGE

CloseClusterNotifyPort

Funzioni di gestione del cluster

GetClusterGroupState

GetClusterNetInterfaceState

GetClusterNetworkState

GetClusterNodeState

GetClusterNotify

GetClusterResourceState

RegisterClusterNotify