RtmRegisterForChangeNotification 함수는 라우팅 테이블 관리자에게 클라이언트가 지정된 유형의 변경 내용에 대한 변경 알림을 받아야 한다고 알릴 수 있습니다. 라우팅 테이블 관리자는 변경 알림 메시지를 받은 후 변경 정보를 요청할 때 클라이언트에서 사용해야 하는 변경 알림 핸들을 반환합니다.
구문
DWORD RtmRegisterForChangeNotification(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_VIEW_SET TargetViews,
[in] RTM_NOTIFY_FLAGS NotifyFlags,
[in] PVOID NotifyContext,
[out] PRTM_NOTIFY_HANDLE NotifyHandle
);
매개 변수
[in] RtmRegHandle
RtmRegisterEntity에 대한 이전 호출에서 얻은 클라이언트에 대한 핸들입니다.
[in] TargetViews
변경 알림을 등록할 보기를 지정합니다.
[in] NotifyFlags
클라이언트가 알림을 요청하는 변경의 유형을 나타내는 플래그를 지정합니다. 다음 플래그가 사용됩니다. (플래그는 논리적 OR을 사용하여 조인해야 합니다.)
[in] NotifyContext
RTM_EVENT_CALLBACK 새 변경 내용을 나타내는 데 사용하는 알림 컨텍스트를 지정합니다. 알림 컨텍스트는 RTM_EVENT_CALLBACK 콜백의 Context2 매개 변수입니다.
[out] NotifyHandle
변경 알림에 대한 핸들을 받습니다. RtmGetChangedDests를 호출할 때 핸들을 사용해야 합니다.
반환 값
함수가 성공하면 반환 값이 NO_ERROR.
함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.
| 값 | 의미 |
|---|---|
|
매개 변수에 잘못된 정보가 포함되어 있습니다. |
|
이 작업을 완료하는 데 사용할 수 있는 시스템 리소스가 충분하지 않습니다. 라우팅 테이블 관리자가 캐시할 수 있는 최대 변경 알림 수를 초과했습니다. |
|
메모리가 부족하여 이 작업을 완료할 수 없습니다. |
|
지정된 뷰 중 하나 이상이 지원되지 않습니다. |
설명
클라이언트는 특정 대상에 대한 변경 내용을 등록할 때 RtmMarkDestForChangeNotification 을 호출합니다.
라우팅 테이블 관리자는 클라이언트가 RtmRegisterEntity라고 할 때 지정된 RTM_EVENT_CALLBACK 콜백을 사용하여 변경이 발생했을 때 클라이언트에 알립니다. 클라이언트는 RtmGetChangedDests를 호출하여 실제 변경 정보를 수신해야 합니다.
이 함수를 사용하는 샘플 코드는 변경 알림 등록을 참조하세요.
요구 사항
| 요구 사항 | 값 |
|---|---|
| 지원되는 최소 클라이언트 | 지원되는 버전 없음 |
| 지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
| 대상 플랫폼 | Windows |
| 헤더 | rtmv2.h |
| 라이브러리 | Rtm.lib |
| DLL | Rtm.dll |