RegisterClusterNotify 函数 (clusapi.h)

将事件类型添加到为通知端口存储的事件列表。 PCLUSAPI_REGISTER_CLUSTER_NOTIFY类型定义指向此函数的指针。

语法

DWORD RegisterClusterNotify(
  [in] HCHANGE   hChange,
  [in] DWORD     dwFilterType,
  [in] HANDLE    hObject,
  [in] DWORD_PTR dwNotifyKey
);

参数

[in] hChange

使用 CreateClusterNotifyPort 函数创建的通知端口的句柄。

[in] dwFilterType

描述要添加到通知端口当前监视的事件集的事件的标志的位掩码。 有关这些事件类型的详细信息,请参阅 CreateClusterNotifyPortdwFilterType 参数可以设置为以下标志之一。

CLUSTER_CHANGE_CLUSTER_PROPERTY (0x40000000)

当群集的内部 网络 优先级列表发生更改时,队列会收到通知。

CLUSTER_CHANGE_CLUSTER_RECONNECT

在短暂断开连接后,与 hCluster 标识的群集的连接重新建立时,队列会收到通知。 在此事件之前或之后立即生成的某些事件可能已丢失。 需要关闭所有打开的连接并重新连接才能接收准确的状态信息。

CLUSTER_CHANGE_CLUSTER_STATE (0x20000000)

当群集不可用时,队列会收到通知,这意味着与群集通信的所有尝试都失败。 此通知保留供将来使用。

CLUSTER_CHANGE_GROUP_ADDED (0x00004000)

在群集中创建新 时,队列会收到通知。

CLUSTER_CHANGE_GROUP_DELETED (0x00002000)

删除现有 时,队列会收到通知。

CLUSTER_CHANGE_GROUP_PROPERTY (0x00008000)

当现有组 的属性 发生更改时,队列会收到通知。

CLUSTER_CHANGE_GROUP_STATE (0x00001000)

当组更改状态时,队列会收到通知。

CLUSTER_CHANGE_HANDLE_CLOSE (0x80000000)

群集对象的 句柄关闭时,队列会收到通知。

CLUSTER_CHANGE_NETINTERFACE_ADDED (0x04000000)

将新的 网络接口 添加到群集 节点时,队列会收到通知。

CLUSTER_CHANGE_NETINTERFACE_DELETED (0x02000000)

当网络接口从群集节点永久删除时,队列会收到通知。

CLUSTER_CHANGE_NETINTERFACE_PROPERTY (0x08000000)

当现有网络接口 的属性 发生更改时,队列会收到通知。

CLUSTER_CHANGE_NETINTERFACE_STATE (0x01000000)

当网络接口更改状态时,队列会收到通知。 有关可能的网络接口状态值的列表,请参阅 GetClusterNetInterfaceState

CLUSTER_CHANGE_NETWORK_ADDED (0x00400000)

将新 网络 添加到群集环境时,队列会收到通知。

CLUSTER_CHANGE_NETWORK_DELETED (0x00200000)

当网络从群集环境中永久删除时,队列会收到通知。

CLUSTER_CHANGE_NETWORK_PROPERTY (0x00800000)

当现有网络 的属性 发生更改时,队列会收到通知。

CLUSTER_CHANGE_NETWORK_STATE (0x00100000)

当网络更改状态时,队列会收到通知。 有关可能的网络状态值的列表,请参阅 GetClusterNetworkState

CLUSTER_CHANGE_NODE_ADDED (0x00000004)

将新 节点 添加到群集时,队列会收到通知。 仅当群集服务最初安装在节点上时,才能添加节点。

CLUSTER_CHANGE_NODE_DELETED (0x00000002)

节点 从群集中永久删除时,队列会收到通知。 可以通过调用 EvictClusterNode 函数从现有群集中永久删除节点。

CLUSTER_CHANGE_NODE_PROPERTY (0x00000008)

此通知保留供将来使用。

CLUSTER_CHANGE_NODE_STATE (0x00000001)

当节点更改状态时,队列会收到通知。

CLUSTER_CHANGE_QUORUM_STATE (0x10000000)

仲裁 资源 更改状态时,队列会收到通知。

CLUSTER_CHANGE_REGISTRY_ATTRIBUTES (0x00000020)

群集数据库密钥的属性发生更改时,队列会收到通知。

CLUSTER_CHANGE_REGISTRY_NAME (0x00000010)

在群集数据库中更改名称时,队列会收到通知。

CLUSTER_CHANGE_REGISTRY_SUBTREE (0x00000080)

指示其他CLUSTER_CHANGE_REGISTRY事件应用于群集数据库的根目录和所有子项。 如果未指定CLUSTER_CHANGE_REGISTRY_SUBTREE,则通知仅适用于根。

CLUSTER_CHANGE_REGISTRY_VALUE (0x00000040)

当指定群集数据库密钥的值发生更改或删除时,队列会收到通知。

CLUSTER_CHANGE_RESOURCE_ADDED (0x00000400)

在群集中创建新 资源 时,队列会收到通知。

CLUSTER_CHANGE_RESOURCE_DELETED (0x00000200)

删除 资源 时,队列会收到通知。

CLUSTER_CHANGE_RESOURCE_PROPERTY (0x00000800)

指示在资源 的属性 更改时应发出通知。

CLUSTER_CHANGE_RESOURCE_STATE (0x00000100)

当资源更改状态时,队列会收到通知。

CLUSTER_CHANGE_RESOURCE_TYPE_ADDED (0x00020000)

在群集中创建新 资源类型 时,队列会收到通知。

CLUSTER_CHANGE_RESOURCE_TYPE_DELETED (0x00010000)

删除现有资源类型时,队列会收到通知。

CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY (0x00040000)

当资源类型的 属性 发生更改时,队列会收到通知。

[in] hObject

dwFilterType 参数中指定的事件影响的故障转移群集对象的句柄。 句柄的类型取决于 dwFilterType 的值,如以下列表中所述。

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;否则,与CLUSTER_CHANGE_HANDLE_CLOSE与 合并的标志关联的句柄将成为句柄类型。

例如,如果 dwFilterType 参数的值 CLUSTER_CHANGE_GROUP_PROPERTY | CLUSTER_CHANGE_HANDLE_CLOSE,则 hObject 参数的句柄类型将变为 HGROUP,因为 CLUSTER_CHANGE_GROUP_PROPERTY 标志与 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

群集数据库函数返回有效的群集数据库密钥,当 dwFilterType 设置为影响群集数据库的事件类型时,该密钥可用于设置 hObject

[in] dwNotifyKey

发生请求的事件时, 从 GetClusterNotify 返回的通知键。

返回值

如果操作成功,函数将返回 ERROR_SUCCESS

如果操作失败,该函数将返回 系统错误代码

备注

RegisterClusterNotify 函数使已使用 CreateClusterNotifyPort 创建通知端口的应用程序能够注册影响节点资源的其他事件。

若要接收 群集数据库 更改的通知,必须在 dwFilterType 参数中设置一个或多个适用于数据库的标志。 适用的标志以前缀CLUSTER_CHANGE_REGISTRY开头。 通过注册表编辑器(RegEdit.exe)手动更改群集数据库不会生成通知。

示例

请参阅 通知端口示例

要求

   
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2008 Enterprise、Windows Server 2008 Datacenter
目标平台 Windows
标头 clusapi.h
Library ClusAPI.lib
DLL ClusAPI.dll

另请参阅

CloseClusterNotifyPort

CreateClusterNotifyPort

GetClusterNotify