GetExtendedTcpTable 함수(iphlpapi.h)

GetExtendedTcpTable 함수는 애플리케이션에서 사용할 수 있는 TCP 엔드포인트 목록이 포함된 테이블을 검색합니다.

구문

IPHLPAPI_DLL_LINKAGE DWORD GetExtendedTcpTable(
  [out]     PVOID           pTcpTable,
  [in, out] PDWORD          pdwSize,
  [in]      BOOL            bOrder,
  [in]      ULONG           ulAf,
  [in]      TCP_TABLE_CLASS TableClass,
  [in]      ULONG           Reserved
);

매개 변수

[out] pTcpTable

애플리케이션에서 사용할 수 있는 필터링된 TCP 엔드포인트를 포함하는 테이블 구조에 대한 포인터입니다. 특정 입력 매개 변수 조합에 따라 반환되는 테이블 유형을 확인하는 방법에 대한 자세한 내용은 이 문서의 뒷부분에 있는 설명 섹션을 참조하세요.

[in, out] pdwSize

pTcpTable로 반환된 구조체의 예상 크기(바이트)입니다. 이 값이 너무 작게 설정되면 함수에서 ERROR_INSUFFICIENT_BUFFER 반환되고 이 필드에 구조체의 올바른 크기가 포함됩니다.

[in] bOrder

TCP 연결 테이블을 정렬할지 여부를 지정하는 값입니다. 이 매개 변수가 TRUE로 설정된 경우 테이블의 TCP 엔드포인트는 가장 낮은 로컬 IP 주소부터 시작하여 오름차순으로 정렬됩니다. 이 매개 변수를 FALSE로 설정하면 테이블의 TCP 엔드포인트가 검색된 순서대로 표시됩니다.

다음 값은 TCP 엔드포인트를 정렬할 때(나열된 대로) 비교됩니다.

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

[in] ulAf

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

의미
AF_INET
IPv4가 사용됩니다.
AF_INET6
IPv6이 사용됩니다.

[in] TableClass

검색할 TCP 테이블 구조체의 형식입니다. 이 매개 변수는 TCP_TABLE_CLASS 열거형의 값 중 하나일 수 있습니다.

Windows Vista 이상용으로 릴리스된 Windows SDK 헤더 파일의 organization 변경되었으며 TCP_TABLE_CLASS 열거형은 Iphlpapi.h 헤더 파일이 아닌 Iprtrmib.h 헤더 파일에 정의됩니다.

TCP_TABLE_CLASS 열거형 값은 ulAf 매개 변수의 값과 결합하여 검색할 확장된 TCP 정보를 결정합니다.

[in] Reserved

예약되어 있습니다. 이 값은 0이어야 합니다.

반환 값

호출에 성공하면 NO_ERROR 값이 반환됩니다.

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

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

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

ERROR_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달되었습니다. TableClass 매개 변수에 TCP_TABLE_CLASS 열거형에 정의되지 않은 값이 포함되어 있으면 이 오류가 반환됩니다.

설명

이 함수에서 반환되는 테이블 형식은 ulAf 매개 변수와 TableClass 매개 변수의 특정 조합에 따라 달라집니다.

ulAf 매개 변수가 AF_INET 설정된 경우 다음 표는 가능한 각 TableClass 값에 대해 pTcpTable 매개 변수가 가리키는 구조에서 검색할 TCP 테이블 형식을 나타냅니다.

TableClass pTcpTable 구조체
TCP_TABLE_BASIC_ALL MIB_TCPTABLE
TCP_TABLE_BASIC_CONNECTIONS MIB_TCPTABLE
TCP_TABLE_BASIC_LISTENER MIB_TCPTABLE
TCP_TABLE_OWNER_MODULE_ALL MIB_TCPTABLE_OWNER_MODULE
TCP_TABLE_OWNER_MODULE_CONNECTIONS MIB_TCPTABLE_OWNER_MODULE
TCP_TABLE_OWNER_MODULE_LISTENER MIB_TCPTABLE_OWNER_MODULE
TCP_TABLE_OWNER_PID_ALL MIB_TCPTABLE_OWNER_PID
TCP_TABLE_OWNER_PID_CONNECTIONS MIB_TCPTABLE_OWNER_PID
TCP_TABLE_OWNER_PID_LISTENER MIB_TCPTABLE_OWNER_PID
 

ulAf 매개 변수가 AF_INET6 설정된 경우 다음 표는 가능한 각 TableClass 값에 대해 pTcpTable 매개 변수가 가리키는 구조에서 검색할 TCP 테이블 형식을 나타냅니다.

TableClass pTcpTable 구조체
TCP_TABLE_OWNER_MODULE_ALL MIB_TCP6TABLE_OWNER_MODULE
TCP_TABLE_OWNER_MODULE_CONNECTIONS MIB_TCP6TABLE_OWNER_MODULE
TCP_TABLE_OWNER_MODULE_LISTENER MIB_TCP6TABLE_OWNER_MODULE
TCP_TABLE_OWNER_PID_ALL MIB_TCP6TABLE_OWNER_PID
TCP_TABLE_OWNER_PID_CONNECTIONS MIB_TCP6TABLE_OWNER_PID
TCP_TABLE_OWNER_PID_LISTENER MIB_TCP6TABLE_OWNER_PID
 

ulAf 매개 변수가 AF_INET6 설정되고 TableClass가 TCP_TABLE_BASIC_LISTENER,TCP_TABLE_BASIC_CONNECTIONS또는TCP_TABLE_BASIC_ALL 설정된 GetExtendedTcpTable 함수는 지원되지 않으며 ERROR_NOT_SUPPORTED 반환합니다.

Windows Vista 이상용으로 릴리스된 Windows SDK 헤더 파일의 organization 변경되었습니다. 다양한 MIB_TCPTABLE 구조체는 Iprtrmib.h 헤더 파일이 아닌 Tcpmib.h 헤더 파일에 정의됩니다. Tcpmib.h 헤더 파일은 Iphlpapi.h 헤더 파일에 자동으로 포함되는 Iprtrmib.h에 자동으로 포함됩니다. Tcpmib.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_TCP6TABLE

MIB_TCP6TABLE_OWNER_MODULE

MIB_TCP6TABLE_OWNER_PID

MIB_TCPTABLE

MIB_TCPTABLE_OWNER_MODULE

MIB_TCPTABLE_OWNER_PID

TCP_TABLE_CLASS