GetExtendedUdpTable 함수(iphlpapi.h)
GetExtendedUdpTable 함수는 애플리케이션에서 사용할 수 있는 UDP 엔드포인트 목록이 포함된 테이블을 검색합니다.
구문
IPHLPAPI_DLL_LINKAGE DWORD GetExtendedUdpTable(
[out] PVOID pUdpTable,
[in, out] PDWORD pdwSize,
[in] BOOL bOrder,
[in] ULONG ulAf,
[in] UDP_TABLE_CLASS TableClass,
[in] ULONG Reserved
);
매개 변수
[out] pUdpTable
애플리케이션에서 사용할 수 있는 필터링된 UDP 엔드포인트를 포함하는 테이블 구조에 대한 포인터입니다. 특정 입력 매개 변수 조합에 따라 반환되는 테이블 유형을 확인하는 방법에 대한 자세한 내용은 이 문서의 뒷부분에 있는 설명 섹션을 참조하세요.
[in, out] pdwSize
pUdpTable로 반환된 구조체의 예상 크기(바이트)입니다. 이 값이 너무 작게 설정되면 이 함수에서 ERROR_INSUFFICIENT_BUFFER 반환되고 이 필드에 구조체의 올바른 크기가 포함됩니다.
[in] bOrder
UDP 엔드포인트 테이블을 정렬할지 여부를 지정하는 값입니다. 이 매개 변수가 TRUE로 설정된 경우 테이블의 UDP 엔드포인트는 가장 낮은 로컬 IP 주소부터 시작하여 오름차순으로 정렬됩니다. 이 매개 변수를 FALSE로 설정하면 테이블의 UDP 엔드포인트가 검색된 순서대로 표시됩니다.
다음 값은 UDP 엔드포인트를 정렬할 때 나열된 값과 비교됩니다.
- 로컬 IP 주소
- 로컬 scope ID(ulAf 매개 변수가 AF_INET6 설정된 경우 적용 가능)
- 로컬 UDP 포트
[in] ulAf
UDP 엔드포인트에서 사용하는 IP 버전입니다.
값 | 의미 |
---|---|
|
IPv4가 사용됩니다. |
|
IPv6이 사용됩니다. |
[in] TableClass
검색할 UDP 테이블 구조체의 형식입니다. 이 매개 변수는 UDP_TABLE_CLASS 열거형의 값 중 하나일 수 있습니다.
Windows Vista 이상용으로 릴리스된 Windows SDK에서 헤더 파일의 organization 변경되었으며 UDP_TABLE_CLASS 열거형은 Iphlpapi.h 헤더 파일이 아닌 Iprtrmib.h 헤더 파일에 정의되어 있습니다.
UDP_TABLE_CLASS 열거형 값은 ulAf 매개 변수의 값과 결합하여 검색할 확장된 UDP 정보를 결정합니다.
[in] Reserved
예약되어 있습니다. 이 값은 0이어야 합니다.
반환 값
호출에 성공하면 NO_ERROR 값이 반환됩니다.
함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.
반환 코드 | 설명 |
---|---|
|
테이블에 할당된 공간이 부족합니다. 테이블의 크기는 pdwSize 매개 변수에 반환되며 테이블을 성공적으로 검색하려면 이 함수에 대한 후속 호출에서 사용해야 합니다.
pUdpTable 매개 변수가 NULL인 경우에도 이 오류가 반환됩니다. |
|
잘못된 매개 변수가 함수에 전달되었습니다. TableClass 매개 변수에 UDP_TABLE_CLASS 열거형에 정의되지 않은 값이 포함되어 있으면 이 오류가 반환됩니다. |
설명
이 함수에서 반환되는 테이블 형식은 ulAf 매개 변수와 TableClass 매개 변수의 특정 조합에 따라 달라집니다.
ulAf 매개 변수가 AF_INET 설정된 경우 다음 표는 가능한 각 TableClass 값에 대해 pUdpTable 매개 변수가 가리키는 구조에서 검색할 UDP 테이블 형식을 나타냅니다.
TableClass 값 | pUdpTable 구조체 |
---|---|
UDP_TABLE_BASIC | MIB_UDPTABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDPTABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDPTABLE_OWNER_PID |
ulAf 매개 변수가 AF_INET6 설정된 경우 다음 표는 가능한 각 TableClass 값에 대해 pUdpTable 매개 변수가 가리키는 구조에서 검색할 TCP 테이블 형식을 나타냅니다.
TableClass 값 | pUdpTable 구조체 |
---|---|
UDP_TABLE_BASIC | MIB_UDP6TABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDP6TABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDP6TABLE_OWNER_PID |
ulAf 매개 변수가 AF_INET6 설정되고 TableClass가 UDP_TABLE_BASIC 설정된 상태에서 호출되는 GetExtendedUdpTable함수는 Windows Vista 이상에서만 지원됩니다.
Windows Server 2003 SP1(서비스 팩 1) 및 WINDOWS XP sp2(서비스 팩 2)에서 ulAf 매개 변수가 AF_INET6 로 설정된 상태에서 호출된 GetExtendedUdpTable 함수가 호출되고 TableClass가 UDP_TABLE_BASIC 실패하고 ERROR_NOT_SUPPORTED 반환합니다.
Windows Vista 이상용으로 릴리스된 Windows SDK에서 헤더 파일의 organization 변경되었습니다. 다양한 MIB_UDPTABLE 구조체는 Iprtrmib.h 헤더 파일이 아닌 Udpmib.h 헤더 파일에 정의됩니다. Udpmib.h 헤더 파일은 Iphlpapi.h 헤더 파일에 자동으로 포함되는 Iprtrmib.h에 자동으로 포함됩니다. Udpmib.h 및 Iprtrmib.h 헤더 파일은 직접 사용하면 안 됩니다.
요구 사항
지원되는 최소 클라이언트 | Windows Vista, WINDOWS XP SP2 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008, Windows Server 2003 SP1 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | iphlpapi.h |
라이브러리 | Iphlpapi.lib |
DLL | Iphlpapi.dll |