다음을 통해 공유


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

알림 포트에서 현재 모니터링 중인 이벤트 집합에 추가할 이벤트를 설명하는 플래그의 비트 마스크입니다. 이러한 이벤트 유형에 대한 자세한 내용은 CreateClusterNotifyPort를 참조하세요. dwFilterType 매개 변수는 다음 플래그 중 하나로 설정할 수 있습니다.

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 매개 변수에 지정된 이벤트의 영향을 받는 장애 조치(failover) 클러스터 개체에 대한 핸들입니다. 핸들 형식은 다음 목록에 설명된 대로 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 | 경우CLUSTER_CHANGE_GROUP_PROPERTY플래그가HGROUP 핸들 형식과 연결되어 있으므로 hObject 매개 변수의 핸들 형식은 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
라이브러리 ClusAPI.lib
DLL ClusAPI.dll

추가 정보

CloseClusterNotifyPort

CreateClusterNotifyPort

GetClusterNotify