다음을 통해 공유


GetIpNetworkConnectionBandwidthEstimates 함수(netioapi.h)

GetIpNetworkConnectionBandwidthEstimates 함수는 지정된 인터페이스의 네트워크 연결에 대한 기록 대역폭 예상치를 검색합니다.

구문

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIpNetworkConnectionBandwidthEstimates(
  [in]  NET_IFINDEX                                    InterfaceIndex,
  [in]  ADDRESS_FAMILY                                 AddressFamily,
  [out] PMIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES BandwidthEstimates
);

매개 변수

[in] InterfaceIndex

네트워크 인터페이스의 로컬 인덱스 값입니다.

이 인덱스 값은 네트워크 어댑터를 사용하지 않도록 설정한 다음 사용하도록 설정하거나 다른 상황에서 변경될 수 있으며 영구로 간주해서는 안 됩니다.

[in] AddressFamily

주소 패밀리입니다. 주소 패밀리에 대한 가능한 값은 Ws2def.h 헤더 파일에 나열됩니다. AF_ 주소 패밀리 및 PF_ 프로토콜 패밀리 상수의 값은 동일하므로(예: AF_INETPF_INET) 두 상수를 모두 사용할 수 있습니다.

Ws2def.h 헤더 파일은 Winsock2.h에 자동으로 포함되며 직접 사용하면 안 됩니다.

현재 지원되는 값은 IPv4 및 IPv6의 인터넷 주소 패밀리 형식인 AF_INET 또는 AF_INET6.

의미
AF_INET
2
IPv4(인터넷 프로토콜 버전 4) 주소 패밀리입니다.
AF_INET6
23
IPv6(인터넷 프로토콜 버전 6) 주소 패밀리입니다.

[out] BandwidthEstimates

인터페이스가 현재 연결된 연결 지점에 대해 유지 관리되는 기록 대역폭 예상치를 반환하는 버퍼에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값이 NO_ERROR.

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

반환 코드 설명
ERROR_FILE_NOT_FOUND
시스템은 지정된 파일을 찾을 수 없습니다. InterfaceIndex 매개 변수에 지정된 인터페이스 인덱스가 로컬 컴퓨터의 값이 아닌 경우 이 오류가 반환됩니다.
ERROR_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달되었습니다. NULL 포인터가 BandwidthEstimates 매개 변수에 전달되거나 AddressFamily 매개 변수가 AF_INET 또는 AF_INET6 지정되지 않은 경우 이 오류가 반환됩니다.
ERROR_NOT_FOUND
Element not found. InterfaceIndex 매개 변수로 지정된 네트워크 인터페이스가 AddressFamily 매개 변수에 지정된 IP 주소 패밀리와 일치하지 않으면 이 오류가 반환됩니다.
기타
FormatMessage 함수를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다.

설명

GetIpNetworkConnectionBandwidthEstimates 함수는 Windows 8 이상에서 정의됩니다.

입력 시 AddressFamily 매개 변수를 AF_INET 또는 AF_INET6 초기화해야 합니다. 입력 외에도 InterfaceIndex 매개 변수는 지정된 인터페이스 인덱스를 사용하여 초기화해야 합니다.

InterfaceIndex 매개 변수에 대해 값을 설정해야 합니다(이 매개 변수의 값을 0으로 설정하면 안 됨).

출력에서 AddressFamilyInterfaceIndex 매개 변수가 지정된 경우 BandwidthEstimates 매개 변수가 가리키는 MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES 구조체가 채워집니다.

GetIpNetworkConnectionBandwidthEstimates 함수는 애플리케이션에서 사용하기 위해 첨부 지점(첫 번째 홉)에서 사용 가능한 대역폭의 과거 추정치를 반환합니다. 예상은 성능 매개 변수를 조정하기 위한 지침이며 애플리케이션은 임계값을 유지하고 낮은 대역폭 및 높은 대역폭 상황에 대한 동작을 구분해야 합니다.

동일한 네트워크에서 경쟁하는 디바이스에서 더 많은 대역폭을 사용함에 따라 시간이 지남에 따라 사용 가능한 실제 대역폭이 변경될 수 있습니다. 따라서 애플리케이션은 사용 가능한 대역폭이 GetIpNetworkConnectionBandwidthEstimates 함수에서 보고한 기록 제한 아래로 떨어지는 경우를 처리할 수 있도록 준비해야 합니다.

TCP/IP 스택이 특정 또는 양방향으로 지정된 인터페이스에 대한 예상치를 작성하지 않은 것일 수 있습니다. 이 경우 반환된 추정치는 0이 됩니다. 애플리케이션은 적절한 기본값을 선택하고 필요한 경우 미세 조정하여 이러한 경우를 처리할 수 있도록 준비해야 합니다.

Netioapi.h 헤더 파일은 Iphlpapi.h 헤더 파일에 의해 자동으로 포함됩니다. Netioapi.h 헤더 파일은 직접 사용하면 안 됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 netioapi.h(Iphlpapi.h 포함)
라이브러리 Iphlpapi.lib
DLL Iphlpapi.dll

추가 정보

GetPerTcp6ConnectionEStats

GetPerTcpConnectionEStats

MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES

NL_BANDWIDTH_INFORMATION

TCP_ESTATS_BANDWIDTH_ROD_v0