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_INET 및 PF_INET) 두 상수를 모두 사용할 수 있습니다.
Ws2def.h 헤더 파일은 Winsock2.h에 자동으로 포함되며 직접 사용하면 안 됩니다.
현재 지원되는 값은 IPv4 및 IPv6의 인터넷 주소 패밀리 형식인 AF_INET 또는 AF_INET6.
값 | 의미 |
---|---|
|
IPv4(인터넷 프로토콜 버전 4) 주소 패밀리입니다. |
|
IPv6(인터넷 프로토콜 버전 6) 주소 패밀리입니다. |
[out] BandwidthEstimates
인터페이스가 현재 연결된 연결 지점에 대해 유지 관리되는 기록 대역폭 예상치를 반환하는 버퍼에 대한 포인터입니다.
반환 값
함수가 성공하면 반환 값이 NO_ERROR.
함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.
반환 코드 | 설명 |
---|---|
|
시스템은 지정된 파일을 찾을 수 없습니다. InterfaceIndex 매개 변수에 지정된 인터페이스 인덱스가 로컬 컴퓨터의 값이 아닌 경우 이 오류가 반환됩니다. |
|
잘못된 매개 변수가 함수에 전달되었습니다. NULL 포인터가 BandwidthEstimates 매개 변수에 전달되거나 AddressFamily 매개 변수가 AF_INET 또는 AF_INET6 지정되지 않은 경우 이 오류가 반환됩니다. |
|
Element not found. InterfaceIndex 매개 변수로 지정된 네트워크 인터페이스가 AddressFamily 매개 변수에 지정된 IP 주소 패밀리와 일치하지 않으면 이 오류가 반환됩니다. |
|
FormatMessage 함수를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다. |
설명
GetIpNetworkConnectionBandwidthEstimates 함수는 Windows 8 이상에서 정의됩니다.
입력 시 AddressFamily 매개 변수를 AF_INET 또는 AF_INET6 초기화해야 합니다. 입력 외에도 InterfaceIndex 매개 변수는 지정된 인터페이스 인덱스를 사용하여 초기화해야 합니다.
InterfaceIndex 매개 변수에 대해 값을 설정해야 합니다(이 매개 변수의 값을 0으로 설정하면 안 됨).
출력에서 AddressFamily 및 InterfaceIndex 매개 변수가 지정된 경우 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 |