다음을 통해 공유


RtmLockRoute 함수(rtmv2.h)

RtmLockRoute 함수는 라우팅 테이블의 경로를 잠그거나 잠금을 해제합니다. 이렇게 하면 클라이언트가 소유한 불투명 경로 포인터에 필요한 변경을 수행하는 동안 경로가 보호됩니다.

구문

DWORD RtmLockRoute(
  [in]  RTM_ENTITY_HANDLE RtmRegHandle,
  [in]  RTM_ROUTE_HANDLE  RouteHandle,
  [in]  BOOL              Exclusive,
  [in]  BOOL              LockRoute,
  [out] PRTM_ROUTE_INFO   *RoutePointer
);

매개 변수

[in] RtmRegHandle

RtmRegisterEntity에 대한 이전 호출에서 얻은 클라이언트에 대한 핸들입니다.

[in] RouteHandle

잠금할 경로에 대한 핸들입니다.

[in] Exclusive

배타적(TRUE) 또는 공유(FALSE) 모드에서 경로를 잠그거나 잠금 해제할지 여부를 지정합니다.

[in] LockRoute

경로를 잠그거나 잠금 해제할지 여부를 지정합니다. 경로를 잠그려면 TRUE 를 지정합니다. FALSE 를 지정하여 잠금을 해제합니다.

[out] RoutePointer

포인터를 반환해야 하는 경우: 입력에서 RoutePointerNULL에 대한 포인터입니다. 출력 시 클라이언트가 경로를 소유하는 경우 RoutePointer 는 다음 홉에 대한 포인터를 받습니다. 그렇지 않으면 RoutePointer는 변경되지 않은 상태로 유지됩니다.

핸들을 반환할 필요가 없는 경우: 입력에서 RoutePointerNULL입니다.

반환 값

함수가 성공하면 반환 값이 NO_ERROR.

함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.

의미
ERROR_ACCESS_DENIED
호출 클라이언트는 이 경로를 소유하지 않습니다.
ERROR_INVALID_HANDLE
핸들이 잘못되었습니다.
 
 

설명

RtmLockRoute를 호출하여 경로가 잠금 해제되고 LockRoute 매개 변수가 FALSE로 설정되거나 RtmUpdateAndUnlockRoute를 호출할 때까지 다른 RTMv2 함수를 호출하지 마세요.

현재 이 함수는 경로뿐만 아니라 전체 대상을 잠가고 있습니다.

클라이언트는 RTM_ROUTE_INFO 구조체의 Neighbour, PrefInfo, BelongsToViews, EntitySpecificInfoNextHopsList 멤버만 변경할 수 있습니다.

이러한 값이 변경된 경우 클라이언트는 RtmUpdateAndUnlockRoute 를 호출하여 라우팅 테이블 관리자에게 변경 내용을 알려야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 rtmv2.h
라이브러리 Rtm.lib
DLL Rtm.dll

추가 정보

RTM_ROUTE_INFO

RtmAddRouteToDest

RtmDeleteRouteToDest

RtmGetRoutePointer

RtmHoldDestination

RtmUpdateAndUnlockRoute