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 |
---|---|
|
Die IPv4-Adressfamilie (Internet Protocol Version 4). |
|
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 |
---|---|
|
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. |
|
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. |
|
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. |
|
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 |