Share via


GetIpNetworkConnectionBandwidthEstimates-Funktion (netioapi.h)

Die GetIpNetworkConnectionBandwidthEstimates-Funktion ruft historische Bandbreitenschätzungen für eine Netzwerkverbindung auf der angegebenen Schnittstelle ab.

Syntax

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

Parameter

[in] InterfaceIndex

Der lokale Indexwert für die Netzwerkschnittstelle.

Dieser Indexwert kann sich ändern, wenn ein Netzwerkadapter deaktiviert und dann aktiviert wird, oder unter anderen Umständen, und sollte nicht als persistent betrachtet werden.

[in] AddressFamily

Die Adressfamilie. Mögliche Werte für die Adressfamilie sind in der Headerdatei Ws2def.h aufgeführt. Beachten Sie, dass die Werte für die AF_ Adressfamilie und PF_ Protokollfamilienkonstanten identisch sind (z. B. AF_INET und PF_INET), sodass beide Konstanten verwendet werden können.

Beachten Sie, dass die Ws2def.h-Headerdatei automatisch in Winsock2.h enthalten ist und nie direkt verwendet werden sollte.

Die derzeit unterstützten Werte sind AF_INET oder AF_INET6, d. h. die Internetadressenfamilienformate für IPv4 und IPv6.

Wert Bedeutung
AF_INET
2
Die IPv4-Adressfamilie (Internet Protocol Version 4).
AF_INET6
23
Die IPv6-Adressfamilie (Internet Protocol Version 6).

[out] BandwidthEstimates

Ein Zeiger auf einen Puffer, der die historischen Bandbreitenschätzungen zurückgibt, die für den Anlagepunkt beibehalten werden, mit dem die Schnittstelle derzeit verbunden ist.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Rückgabecode Beschreibung
ERROR_FILE_NOT_FOUND
Die angegebene Datei wurde nicht gefunden. Dieser Fehler wird zurückgegeben, wenn der vom Parameter InterfaceIndex angegebene Schnittstellenindex kein Wert auf dem lokalen Computer war.
ERROR_INVALID_PARAMETER
Es wurde ein ungültiger Parameter an die Funktion übergeben. Dieser Fehler wird zurückgegeben, wenn ein NULL-Zeiger im Parameter BandwidthEstimates übergeben wird oder der AddressFamily-Parameter nicht als AF_INET oder AF_INET6 angegeben wurde.
ERROR_NOT_FOUND
Element wurde nicht gefunden. Dieser Fehler wird zurückgegeben, wenn die durch den Parameter InterfaceIndex angegebene Netzwerkschnittstelle nicht mit der IM AddressFamily-Parameter angegebenen IP-Adressfamilie übereinstimmt.
Andere
Verwenden Sie die FormatMessage-Funktion , um die Nachrichtenzeichenfolge für den zurückgegebenen Fehler abzurufen.

Hinweise

Die GetIpNetworkConnectionBandwidthEstimates-Funktion wird für Windows 8 und höher definiert.

Bei der Eingabe muss der AddressFamily-Parameter entweder für AF_INET oder AF_INET6 initialisiert werden. Darüber hinaus muss der Parameter InterfaceIndex bei der Eingabe mit dem angegebenen Schnittstellenindex initialisiert werden.

Für den Parameter InterfaceIndex muss ein Wert festgelegt werden (der Wert dieses Parameters darf nicht auf Null festgelegt werden).

Bei der Ausgabe wird die MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES Struktur, auf die der Parameter BandwidthEstimates verweist, ausgefüllt, wenn die Parameter AddressFamily und InterfaceIndex angegeben wurden.

Die GetIpNetworkConnectionBandwidthEstimates-Funktion gibt historische Schätzungen der verfügbaren Bandbreite am Punkt der Anlage (dem ersten Hop) zur Verwendung durch eine Anwendung zurück. Die Schätzungen dienen als Leitfaden zum Optimieren von Leistungsparametern, und die Anwendung sollte Schwellenwerte beibehalten und das Verhalten für Situationen mit niedriger und hoher Bandbreite unterscheiden.

Es ist möglich, dass sich die wahre verfügbare Bandbreite im Laufe der Zeit ändert, da mehr Bandbreite von Geräten genutzt wird, die im selben Netzwerk konkurrieren. Daher sollten Anwendungen darauf vorbereitet sein, Fälle zu behandeln, in denen die verfügbare Bandbreite unter die von der GetIpNetworkConnectionBandwidthEstimates-Funktion gemeldeten Historischen Grenzwerte fällt.

Es ist möglich, dass der TCP/IP-Stapel keine Schätzungen für die angegebene Schnittstelle in einer bestimmten oder beiden Richtungen erstellt hat. In diesem Fall ist die zurückgegebene Schätzung 0. Die Anwendung sollte darauf vorbereitet sein, solche Fälle zu behandeln, indem sie angemessene Standardwerte wählt und bei Bedarf fein optimiert wird.

Die Headerdatei Netioapi.h wird automatisch von der Headerdatei Iphlpapi.h eingeschlossen. Die Netioapi.h-Headerdatei sollte nie direkt verwendet werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile netioapi.h (include Iphlpapi.h)
Bibliothek Iphlpapi.lib
DLL Iphlpapi.dll

Weitere Informationen

GetPerTcp6ConnectionEStats

GetPerTcpConnectionEStats

MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES

NL_BANDWIDTH_INFORMATION

TCP_ESTATS_BANDWIDTH_ROD_v0