Función GetClusterNotify (clusapi.h)
Devuelve información relacionada con el siguiente evento de notificación que se almacena para un puerto de notificación. El tipo PCLUSAPI_GET_CLUSTER_NOTIFY define un puntero a esta función.
Sintaxis
DWORD GetClusterNotify(
[in] HCHANGE hChange,
[out] DWORD_PTR *lpdwNotifyKey,
[out] LPDWORD lpdwFilterType,
[out] LPWSTR lpszName,
[in, out] LPDWORD lpcchName,
[in, optional] DWORD dwMilliseconds
);
Parámetros
[in] hChange
Identificador de un puerto de notificación que se crea con la función CreateClusterNotifyPort .
[out] lpdwNotifyKey
Puntero a la clave de notificación del puerto identificado por el parámetro hChange .
[out] lpdwFilterType
Puntero a una marca que indica el tipo de evento devuelto. Esta marca es uno de los siguientes valores de la enumeración CLUSTER_CHANGE .
CLUSTER_CHANGE_CLUSTER_PROPERTY (0x40000000)
La cola recibe una notificación cuando cambia la lista prioritaria del clúster de redes internas.
CLUSTER_CHANGE_CLUSTER_RECONNECT (0x00080000)
La cola recibe una notificación cuando la conexión al clúster identificado por
El parámetro hCluster se restablece después de una breve desconexión. Es posible que se hayan perdido algunos eventos generados inmediatamente antes o después de este evento. Tiene que cerrar todas las conexiones abiertas y volver a conectarse para recibir información de estado precisa.
CLUSTER_CHANGE_CLUSTER_STATE (0x20000000)
La cola recibe una notificación cuando el clúster deja de estar disponible, lo que significa que todos los intentos de comunicarse con el clúster producen un error.
CLUSTER_CHANGE_GROUP_ADDED (0x00004000)
La cola recibe una notificación cuando se crea un nuevo grupo en el clúster.
CLUSTER_CHANGE_GROUP_DELETED (0x00002000)
La cola recibe una notificación cuando se elimina un grupo existente.
CLUSTER_CHANGE_GROUP_PROPERTY (0x00008000)
La cola recibe una notificación cuando cambian las propiedades de un grupo o cuando se agrega o quita un recurso de un grupo.
CLUSTER_CHANGE_GROUP_STATE (0x00001000)
La cola recibe una notificación cuando un grupo cambia de estado. Para obtener una lista de los posibles valores de estado de grupo, vea GetClusterGroupState.
CLUSTER_CHANGE_HANDLE_CLOSE (0x80000000)
La cola recibe una notificación cuando se cierra un identificador asociado a un objeto de clúster .
CLUSTER_CHANGE_NETINTERFACE_ADDED (0x04000000)
La cola recibe una notificación cuando se agrega una nueva interfaz de red a un nodo de clúster.
CLUSTER_CHANGE_NETINTERFACE_DELETED (0x02000000)
La cola recibe una notificación cuando una interfaz de red se quita permanentemente de un nodo de clúster.
CLUSTER_CHANGE_NETINTERFACE_PROPERTY (0x08000000)
La cola recibe una notificación cuando cambian las propiedades de una interfaz de red existente.
CLUSTER_CHANGE_NETINTERFACE_STATE (0x01000000)
La cola recibe una notificación cuando una interfaz de red cambia de estado. Para obtener una lista de los posibles valores de estado de la interfaz de red, consulte GetClusterNetInterfaceState.
CLUSTER_CHANGE_NETWORK_ADDED (0x00400000)
La cola recibe una notificación cuando se agrega una nueva red al entorno de clúster.
CLUSTER_CHANGE_NETWORK_DELETED (0x00200000)
La cola recibe una notificación cuando una red se quita permanentemente del entorno de clúster.
CLUSTER_CHANGE_NETWORK_PROPERTY (0x00800000)
La cola recibe una notificación cuando cambian las propiedades de una red existente.
CLUSTER_CHANGE_NETWORK_STATE (0x00100000)
La cola recibe una notificación cuando cambia el estado de una red. Para obtener una lista de los posibles valores de estado de red, consulte GetClusterNetworkState.
CLUSTER_CHANGE_NODE_ADDED (0x00000004)
La cola recibe una notificación cuando se agrega un nuevo nodo al clúster. Un nodo solo se puede agregar cuando el servicio de clúster se instala inicialmente en el nodo.
CLUSTER_CHANGE_NODE_DELETED (0x00000002)
La cola recibe una notificación cuando un nodo se quita permanentemente de un clúster. Un nodo se puede eliminar permanentemente de un clúster existente con una llamada a la función EvictClusterNode .
CLUSTER_CHANGE_NODE_PROPERTY (0x00000008)
Esta notificación está reservada para uso futuro.
CLUSTER_CHANGE_NODE_STATE (0x00000001)
La cola recibe una notificación cuando un nodo cambia de estado. Para obtener una lista de los posibles valores de estado de nodo, consulte GetClusterNodeState.
CLUSTER_CHANGE_QUORUM_STATE (0x10000000)
Esta notificación está reservada para uso futuro.
CLUSTER_CHANGE_REGISTRY_ATTRIBUTES (0x00000020)
La cola recibe una notificación cuando se cambian los atributos de una clave de base de datos de clúster . El único atributo de clave de base de datos de clúster definido actualmente es su descriptor de seguridad, que se puede cambiar con ClusterRegSetKeySecurity.
CLUSTER_CHANGE_REGISTRY_NAME (0x00000010)
La cola recibe una notificación cuando ha cambiado el nombre de una clave de base de datos de clúster.
CLUSTER_CHANGE_REGISTRY_SUBTREE (0x00000080)
Indica que los demás eventos de CLUSTER_CHANGE_REGISTRY se aplican a toda la base de datos del clúster. Si no se incluye esta marca, los eventos solo se aplican a la clave especificada.
CLUSTER_CHANGE_REGISTRY_VALUE (0x00000040)
La cola recibe una notificación cuando se cambia o elimina un valor de la clave de base de datos de clúster especificada. Los valores de la base de datos de clúster se pueden cambiar con la función ClusterRegSetValue y eliminarse con la función ClusterRegDeleteValue .
CLUSTER_CHANGE_RESOURCE_ADDED (0x00000400)
La cola recibe una notificación cuando se crea un nuevo recurso en el clúster.
CLUSTER_CHANGE_RESOURCE_DELETED (0x00000200)
La cola recibe una notificación cuando se elimina un recurso.
CLUSTER_CHANGE_RESOURCE_PROPERTY (0x00000800)
La cola recibe una notificación cuando cambian las propiedades, las dependencias o los posibles nodos propietarios de un recurso.
CLUSTER_CHANGE_RESOURCE_STATE (0x00000100)
La cola recibe una notificación cuando un recurso cambia de estado. Para obtener una lista de los posibles valores de estado de recurso, consulte GetClusterResourceState.
CLUSTER_CHANGE_RESOURCE_TYPE_ADDED (0x00020000)
La cola recibe una notificación cuando se crea un nuevo tipo de recurso en el clúster.
CLUSTER_CHANGE_RESOURCE_TYPE_DELETED (0x00010000)
La cola recibe una notificación cuando se elimina un tipo de recurso existente.
CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY (0x00040000)
La cola recibe una notificación cuando cambian las propiedades de un tipo de recurso.
[out] lpszName
Puntero a una cadena Unicode terminada en null que contiene el nombre del objeto de clúster que desencadenó el evento. En la lista siguiente se describe el contenido de lpszName por tipo de evento. Tenga en cuenta que CLUSTER_CHANGE_REGISTRY_SUBTREE no se incluye en la tabla; GetClusterNotify nunca controla este tipo de evento.
CLUSTER_CHANGE_CLUSTER_PROPERTY (0x40000000)
Nombre del clúster cambiado.
CLUSTER_CHANGE_CLUSTER_RECONNECT (0x00080000)
Nombre del clúster desconectado.
CLUSTER_CHANGE_CLUSTER_STATE (0x20000000)
Nombre del clúster cambiado.
CLUSTER_CHANGE_GROUP_ADDED (0x00004000)
Nuevo nombre de grupo .
CLUSTER_CHANGE_GROUP_DELETED (0x00002000)
Nombre del grupo eliminado.
CLUSTER_CHANGE_GROUP_PROPERTY (0x00008000)
Nombre del grupo cambiado.
CLUSTER_CHANGE_GROUP_STATE (0x00001000)
Nombre del grupo cambiado.
CLUSTER_CHANGE_HANDLE_CLOSE (0x80000000)
Nombre del objeto que se está cerrando.
CLUSTER_CHANGE_NODE_ADDED (0x00000004)
Nombre del nuevo nodo.
CLUSTER_CHANGE_NODE_DELETED (0x00000002)
Nombre del nodo eliminado.
CLUSTER_CHANGE_NODE_PROPERTY (0x00000008)
Nombre del nodo cambiado.
CLUSTER_CHANGE_NODE_STATE (0x00000001)
Nombre del nodo cambiado.
CLUSTER_CHANGE_REGISTRY_ATTRIBUTES (0x00000020)
Nombre relativo de la clave de base de datos de clúster modificada.
CLUSTER_CHANGE_REGISTRY_NAME (0x00000010)
Nombre relativo de la clave de base de datos de clúster modificada.
CLUSTER_CHANGE_REGISTRY_VALUE (0x00000040)
Nombre relativo de la clave de base de datos de clúster modificada.
CLUSTER_CHANGE_RESOURCE_ADDED (0x00000400)
Nuevo nombre de recurso .
CLUSTER_CHANGE_RESOURCE_DELETED (0x00000200)
Nombre del recurso eliminado.
CLUSTER_CHANGE_RESOURCE_PROPERTY (0x00000800)
Nombre del recurso cambiado.
CLUSTER_CHANGE_RESOURCE_STATE (0x00000100)
Nombre del recurso cambiado.
CLUSTER_CHANGE_RESOURCE_TYPE_ADDED (0x00020000)
Nombre del nuevo tipo de recurso.
CLUSTER_CHANGE_RESOURCE_TYPE_DELETED (0x00010000)
Nombre del tipo de recurso eliminado.
[in, out] lpcchName
Puntero al tamaño del búfer lpszName como recuento de caracteres. En la entrada, especifique el número máximo de caracteres que puede contener el búfer, incluido el valor NULL de terminación. En la salida, especifica el número de caracteres en el nombre resultante, excepto el valor NULL de terminación.
[in, optional] dwMilliseconds
Valor de tiempo de espera opcional que especifica cuánto tiempo está dispuesto a esperar la notificación el autor de la llamada.
Valor devuelto
Si la operación se realiza correctamente, la función devuelve ERROR_SUCCESS.
Si se produce un error en la operación, la función devuelve un código de error del sistema. A continuación se muestran los valores posibles.
Código o valor devuelto | Descripción |
---|---|
|
El identificador representado en el parámetro hChange no es válido o ha sido cerrado por otro subproceso. |
|
Se agota el tiempo de espera de la llamada antes de que se pueda devolver correctamente la notificación. |
|
El búfer al que apunta el parámetro lpszName no es lo suficientemente grande como para contener el resultado. El parámetro lpcchName devuelve el número de caracteres en el resultado, excepto el valor NULL de terminación. |
Comentarios
Tenga en cuenta que el parámetro lpcchName hace referencia a un recuento de caracteres y no a un recuento de bytes, y que el tamaño devuelto no incluye el valor NULL de terminación en el recuento. Para obtener más información sobre los búferes de tamaño, consulte Convenciones de tamaño de datos.
Las notificaciones son asincrónicas y el estado del clúster en el momento en que la aplicación procesa la notificación puede ser diferente del estado del clúster en el momento en que se generó la notificación.
Ejemplos
Consulte el ejemplo de puerto de notificación.
Requisitos
Cliente mínimo compatible | No se admite ninguno |
Servidor mínimo compatible | Windows Server 2008 Enterprise, Windows Server 2008 Datacenter |
Plataforma de destino | Windows |
Encabezado | clusapi.h |
Library | ClusAPI.lib |
Archivo DLL | ClusAPI.dll |