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 엔드포인트를 정렬할 때(나열된 대로) 비교됩니다.
- 로컬 IP 주소
- 로컬 scope ID(ulAf 매개 변수가 AF_INET6 설정된 경우 적용 가능)
- 로컬 TCP 포트
- 원격 IP 주소
- 원격 scope ID(ulAf 매개 변수가 AF_INET6 설정된 경우 적용 가능)
- 원격 TCP 포트
[in] ulAf
TCP 엔드포인트에서 사용하는 IP 버전입니다.
값 | 의미 |
---|---|
|
IPv4가 사용됩니다. |
|
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 값이 반환됩니다.
함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.
반환 코드 | 설명 |
---|---|
|
테이블에 할당된 공간이 부족합니다. 테이블의 크기는 pdwSize 매개 변수에 반환되며 테이블을 성공적으로 검색하려면 이 함수에 대한 후속 호출에서 사용해야 합니다.
pTcpTable 매개 변수가 NULL인 경우에도 이 오류가 반환됩니다. |
|
잘못된 매개 변수가 함수에 전달되었습니다. 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.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 |