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
要與從通知埠擷取通知相關聯的使用者指定值。 dwNotifyKey會在dwFilter中指定的其中一種類型事件發生時,從GetClusterNotify傳回。
傳回值
如果作業成功,函式會傳回通知埠控制碼。
如果作業失敗,函式會傳回 Null。 如需錯誤的詳細資訊,請呼叫 GetLastError。
備註
如需使用CreateClusterNotifyPort、GetClusterNotify和RegisterClusterNotify函式的詳細資訊,請參閱接收叢集事件。
範例
請參閱 通知埠範例。
規格需求
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
目標平台 | Windows |
標頭 | clusapi.h |
程式庫 | ClusAPI.lib |
Dll | ClusAPI.dll |