RtmCreateDestEnum 함수는 라우팅 테이블의 대상 열거를 시작합니다. 클라이언트는 하나 이상의 보기 또는 모든 보기에 대한 대상을 열거할 수 있습니다.
구문
DWORD RtmCreateDestEnum(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_VIEW_SET TargetViews,
[in] RTM_ENUM_FLAGS EnumFlags,
[in] PRTM_NET_ADDRESS NetAddress,
[in] ULONG ProtocolId,
[out] PRTM_ENUM_HANDLE RtmEnumHandle
);
매개 변수
[in] RtmRegHandle
RtmRegisterEntity에 대한 이전 호출에서 얻은 클라이언트에 대한 핸들입니다.
[in] TargetViews
열거형을 만들 때 사용할 뷰 집합을 지정합니다. 다음 플래그가 사용됩니다.
| 상수 | 의미 |
|---|---|
|
모든 보기에서 대상을 반환합니다. 이것은 기본값입니다. |
|
유니캐스트 보기에서 대상을 반환합니다. |
|
멀티캐스트 보기에서 대상을 반환합니다. |
[in] EnumFlags
열거형에 포함할 대상을 지정합니다. 두 가지 플래그 집합이 사용됩니다. 각 집합에서 하나의 플래그를 사용합니다(예: RTM_ENUM_ALL_DESTS 및 RTM_ENUM_START 사용).
| 상수 | 의미 |
|---|---|
|
모든 대상을 반환합니다. |
|
클라이언트가 지정된 뷰에서 대상에 가장 적합한 경로를 소유하는 대상을 반환합니다. |
| 상수 | 의미 |
|---|---|
|
지정된 주소/마스크 길이(예: 10/8)에서 시작하는 대상을 열거합니다. 열거형은 라우팅 테이블의 끝까지 계속됩니다. |
|
주소/마스크 길이(예: 10/8)로 지정된 범위의 대상을 열거합니다. |
|
0/0부터 대상을 열거합니다. NetAddress에 NULL을 지정합니다. |
[in] NetAddress
열거형의 시작 주소를 포함하는 RTM_NET_ADDRESS 구조체에 대한 포인터입니다. EnumFlags에 RTM_ENUM_START 포함된 경우 NULL을 지정합니다.
[in] ProtocolId
RtmGetEnumDests 함수에서 반환하는 최상의 경로 정보를 결정하는 데 사용되는 프로토콜 식별자를 지정합니다. ProtocolID는 검색 조건의 일부가 아닙니다. 라우팅 테이블 관리자는 이 식별자를 사용하여 반환할 경로 정보를 결정합니다(예: 클라이언트가 RIP 프로토콜 식별자를 지정하는 경우 RIP 경로가 아닌 경로가 대상에 가장 적합한 경로인 경우에도 최상의 RIP 경로가 반환됨).
경로를 소유하는 프로토콜에 관계없이 경로를 반환할 RTM_BEST_PROTOCOL 지정합니다. 호출 프로토콜에 가장 적합한 경로를 반환하려면 RTM_THIS_PROTOCOL 지정합니다.
[out] RtmEnumHandle
입력 시 RtmEnumHandle 은 NULL에 대한 포인터입니다.
출력 시 RtmEnumHandle 은 열거형에 대한 핸들에 대한 포인터를 받습니다. RtmGetEnumDests, RtmReleaseDests 및 RtmDeleteEnumHandle에 대한 모든 후속 호출에서 이 핸들을 사용합니다.
반환 값
함수가 성공하면 반환 값이 NO_ERROR.
함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.
| 값 | 의미 |
|---|---|
|
매개 변수에 잘못된 정보가 포함되어 있습니다. |
|
메모리가 부족하여 이 작업을 완료할 수 없습니다. |
|
지정된 뷰 중 하나 이상이 지원되지 않습니다. |
설명
EnumFlags에 RTM_ENUM_RANGE 포함된 경우 NetAddress를 사용하여 열거할 라우팅 테이블의 범위를 지정합니다. 예를 들어 클라이언트가 NetAddress 를 10/8로 설정하면 10.0.0.0/8에서 10.255.255.255/32 범위의 대상이 반환됩니다.
열거형 핸들이 더 이상 필요하지 않으면 RtmDeleteEnumHandle을 호출하여 해제합니다.
이 함수를 사용하는 샘플 코드는 모든 대상 열거를 참조하세요.
요구 사항
| 요구 사항 | 값 |
|---|---|
| 지원되는 최소 클라이언트 | 지원되는 버전 없음 |
| 지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
| 대상 플랫폼 | Windows |
| 헤더 | rtmv2.h |
| 라이브러리 | Rtm.lib |
| DLL | Rtm.dll |