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。
注解
有关使用 CreateClusterNotifyPort、 GetClusterNotify 和 RegisterClusterNotify 函数的详细信息,请参阅 接收群集事件。
示例
请参阅 通知端口示例。
要求
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2008 企业版、Windows Server 2008 Datacenter |
目标平台 | Windows |
标头 | clusapi.h |
Library | ClusAPI.lib |
DLL | ClusAPI.dll |