createClusterNotifyPort 函数 (clusapi.h)

创建或修改通知端口。 有关通知端口的信息,请参阅 接收群集事件PCLUSAPI_CREATE_CLUSTER_NOTIFY_PORT类型定义指向此函数的指针。

语法

HCHANGE CreateClusterNotifyPort(
  [in] HCHANGE   hChange,
  [in] HCLUSTER  hCluster,
  [in] DWORD     dwFilter,
  [in] DWORD_PTR dwNotifyKey
);

参数

[in] hChange

通知端口或 INVALID_HANDLE_VALUE的句柄,指示应创建新的句柄。 如果 hChange 是现有句柄,则会将 dwFilter 中指定的事件添加到通知端口。

[in] hCluster

要与 hChange 标识的通知端口关联的群集的句柄,或INVALID_HANDLE_VALUE,指示通知端口不应与群集相关联。 如果 hChange 未设置为 INVALID_HANDLE_VALUE,则 hCluster 不能设置为 INVALID_HANDLE_VALUE

[in] dwFilter

CLUSTER_CHANGE 枚举中枚举的标志的位掩码,该枚举指定将导致通知存储在队列中的事件。 可以使用 OR 运算符设置以下一个或多个标志,也可以使用 值CLUSTER_CHANGE_ALL指定所有标志。

CLUSTER_CHANGE_CLUSTER_PROPERTY (0x40000000)

当群集的属性发生更改时,队列会收到通知。

CLUSTER_CHANGE_CLUSTER_RECONNECT (0x00080000)

当与 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)

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

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)

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

CLUSTER_CHANGE_QUORUM_STATE (0x10000000)

此通知保留供将来使用。

CLUSTER_CHANGE_REGISTRY_ATTRIBUTES (0x00000020)

当群集数据库密钥的属性发生更改时,队列会收到通知。 当前唯一定义的群集数据库密钥属性是其安全描述符,可以使用 ClusterRegSetKeySecurity 进行更改。

CLUSTER_CHANGE_REGISTRY_NAME (0x00000010)

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

CLUSTER_CHANGE_REGISTRY_SUBTREE (0x00000080)

指示其他 CLUSTER_CHANGE_REGISTRY 事件应用于整个群集数据库。 如果不包括此标志,则事件仅适用于指定的键。

CLUSTER_CHANGE_REGISTRY_VALUE (0x00000040)

更改或删除指定群集数据库密钥的值时,队列会收到通知。 可以使用 ClusterRegSetValue 函数更改群集数据库值,并使用 ClusterRegDeleteValue 函数删除群集数据库值。

CLUSTER_CHANGE_RESOURCE_ADDED (0x00000400)

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

CLUSTER_CHANGE_RESOURCE_DELETED (0x00000200)

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

CLUSTER_CHANGE_RESOURCE_PROPERTY (0x00000800)

当资源 的属性依赖项可能的所有者 节点发生更改时,队列会收到通知。

CLUSTER_CHANGE_RESOURCE_STATE (0x00000100)

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

CLUSTER_CHANGE_RESOURCE_TYPE_ADDED (0x00020000)

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

CLUSTER_CHANGE_RESOURCE_TYPE_DELETED (0x00010000)

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

CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY (0x00040000)

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

[in] dwNotifyKey

与从通知端口检索通知关联的用户指定值。 当发生 dwFilter 中指定的类型之一的事件时,将从 GetClusterNotify 返回 dwNotifyKey

返回值

如果操作成功,该函数将返回通知端口句柄。

如果操作失败,该函数将返回 NULL。 有关错误的详细信息,请调用 GetLastError

注解

有关使用 CreateClusterNotifyPortGetClusterNotifyRegisterClusterNotify 函数的详细信息,请参阅 接收群集事件

示例

请参阅 通知端口示例

要求

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

另请参阅

CLUSTER_CHANGE

CloseClusterNotifyPort

群集管理功能

GetClusterGroupState

GetClusterNetInterfaceState

GetClusterNetworkState

GetClusterNodeState

GetClusterNotify

GetClusterResourceState

RegisterClusterNotify