다음을 통해 공유


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 엔드포인트를 정렬할 때 나열된 값과 비교됩니다.

  1. 로컬 IP 주소
  2. 로컬 scope ID(ulAf 매개 변수가 AF_INET6 설정된 경우 적용 가능)
  3. 로컬 UDP 포트

[in] ulAf

UDP 엔드포인트에서 사용하는 IP 버전입니다.

의미
AF_INET
IPv4가 사용됩니다.
AF_INET6
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 값이 반환됩니다.

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

반환 코드 설명
ERROR_INSUFFICIENT_BUFFER
테이블에 할당된 공간이 부족합니다. 테이블의 크기는 pdwSize 매개 변수에 반환되며 테이블을 성공적으로 검색하려면 이 함수에 대한 후속 호출에서 사용해야 합니다.

pUdpTable 매개 변수가 NULL인 경우에도 이 오류가 반환됩니다.

ERROR_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달되었습니다. 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 설정되고 TableClassUDP_TABLE_BASIC 설정된 상태에서 호출되는 GetExtendedUdpTable함수는 Windows Vista 이상에서만 지원됩니다.

Windows Server 2003 SP1(서비스 팩 1) 및 WINDOWS XP sp2(서비스 팩 2)에서 ulAf 매개 변수가 AF_INET6 로 설정된 상태에서 호출된 GetExtendedUdpTable 함수가 호출되고 TableClassUDP_TABLE_BASIC 실패하고 ERROR_NOT_SUPPORTED 반환합니다.

Windows Vista 이상용으로 릴리스된 Windows SDK에서 헤더 파일의 organization 변경되었습니다. 다양한 MIB_UDPTABLE 구조체는 Iprtrmib.h 헤더 파일이 아닌 Udpmib.h 헤더 파일에 정의됩니다. Udpmib.h 헤더 파일은 Iphlpapi.h 헤더 파일에 자동으로 포함되는 Iprtrmib.h에 자동으로 포함됩니다. Udpmib.hIprtrmib.h 헤더 파일은 직접 사용하면 안 됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista, WINDOWS XP SP2 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008, Windows Server 2003 SP1 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 iphlpapi.h
라이브러리 Iphlpapi.lib
DLL Iphlpapi.dll

참고 항목

MIB_UDP6TABLE

MIB_UDP6TABLE_OWNER_MODULE

MIB_UDP6TABLE_OWNER_PID

MIB_UDPTABLE

MIB_UDPTABLE_OWNER_MODULE

MIB_UDPTABLE_OWNER_PID

UDP_TABLE_CLASS