RtmRegisterEntity 함수는 특정 주소 패밀리에 대한 라우팅 테이블 관리자의 instance 클라이언트를 등록합니다. 라우팅 테이블 관리자는 등록 핸들과 instance 프로필을 반환합니다. 프로필에는 다른 함수를 호출할 때 사용되는 값 목록이 포함되어 있습니다. 값에는 단일 호출로 버퍼에 반환된 최대 대상 수가 포함됩니다.
등록은 클라이언트가 수행해야 하는 첫 번째 작업입니다.
구문
DWORD RtmRegisterEntity(
[in] PRTM_ENTITY_INFO RtmEntityInfo,
[in] PRTM_ENTITY_EXPORT_METHODS ExportMethods,
[in] RTM_EVENT_CALLBACK EventCallback,
[in] BOOL ReserveOpaquePointer,
[out] PRTM_REGN_PROFILE RtmRegProfile,
[out] PRTM_ENTITY_HANDLE RtmRegHandle
);
매개 변수
[in] RtmEntityInfo
RTM_ENTITY_INFO 구조체에 대한 포인터입니다. 이 구조에는 라우팅 테이블 관리자 instance 및 등록할 주소 패밀리와 같이 라우팅 테이블 관리자에 대한 클라이언트를 식별하는 정보가 포함됩니다.
[in] ExportMethods
클라이언트에서 내보낸 메서드 목록을 포함하는 RTM_ENTITY_EXPORT_METHODS 구조체에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 호출 클라이언트에 내보낼 메서드가 없는 경우 NULL 로 설정할 수 있습니다.
[in] EventCallback
라우팅 테이블 관리자가 클라이언트에 이벤트를 알리는 데 사용하는 콜백을 지정하는 RTM_EVENT_CALLBACK 구조체입니다. 이벤트는 클라이언트가 등록 및 등록을 취소하는 경우, 경로가 만료되는 경우 및 대상에 대한 최상의 경로 변경이 발생한 경우입니다. 클라이언트가 RtmRegisterForChangeNotification을 호출할 때 지정된 변경 내용만 변경됩니다.
[in] ReserveOpaquePointer
프로토콜의 이 instance 각 대상에서 불투명 포인터를 예약할지 여부를 지정합니다. TRUE를 지정하여 각 대상에서 불투명 포인터를 예약합니다. FALSE를 지정하여 이 작업을 건너뜁니다. 이러한 불투명 포인터를 사용하여 각 대상에 대한 프라이빗 프로토콜별 컨텍스트를 가리킬 수 있습니다.
[out] RtmRegProfile
입력 시 RtmRegProfile 은 RTM_REGN_PROFILE 구조체에 대한 포인터입니다.
출력 시 RtmRegProfile 은 요청된 등록 프로필 구조로 채워집니다. 클라이언트는 다른 함수 호출에서 반환된 정보를 사용해야 합니다(반환되는 정보에는 동일한 비용의 다음 홉 수와 열거형 함수 호출에서 반환된 최대 항목 수가 포함됨).
[out] RtmRegHandle
클라이언트에 대한 등록 핸들을 받습니다. 이 핸들은 라우팅 테이블 관리자에 대한 모든 후속 호출에서 사용해야 합니다.
반환 값
함수가 성공하면 반환 값이 NO_ERROR.
함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.
| 값 | 의미 |
|---|---|
|
지정된 클라이언트가 라우팅 테이블 관리자에 이미 등록되어 있습니다. |
|
라우팅 테이블 관리자에 대한 레지스트리 정보가 손상되었습니다. |
|
라우팅 테이블 관리자에 대한 레지스트리 정보를 찾을 수 없습니다. |
|
매개 변수에 잘못된 정보가 포함되어 있습니다. |
|
매개 변수에 잘못된 정보가 포함되어 있습니다. |
|
이 작업을 완료하는 데 사용할 수 있는 시스템 리소스가 충분하지 않습니다. |
|
메모리가 부족하여 이 작업을 완료할 수 없습니다. |
설명
이 함수를 사용하는 샘플 코드는 라우팅 테이블 관리자에 등록을 참조하세요.
요구 사항
| 지원되는 최소 클라이언트 | 지원되는 버전 없음 |
| 지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
| 대상 플랫폼 | Windows |
| 헤더 | rtmv2.h |
| 라이브러리 | Rtm.lib |
| DLL | Rtm.dll |