SetPerTcp6ConnectionEStats-Funktion (iphlpapi.h)
Die SetPerTcp6ConnectionEStats-Funktion legt einen Wert in den Lese-/Schreibinformationen für eine IPv6-TCP-Verbindung fest. Diese Funktion wird verwendet, um erweiterte Statistiken für eine IPv6-TCP-Verbindung zu aktivieren oder zu deaktivieren.
Syntax
IPHLPAPI_DLL_LINKAGE ULONG SetPerTcp6ConnectionEStats(
PMIB_TCP6ROW Row,
TCP_ESTATS_TYPE EstatsType,
PUCHAR Rw,
ULONG RwVersion,
ULONG RwSize,
ULONG Offset
);
Parameter
Row
Ein Zeiger auf eine MIB_TCP6ROW-Struktur für eine IPv6-TCP-Verbindung.
EstatsType
Der Typ der erweiterten Statistiken, die tcp festgelegt werden soll. Dieser Parameter bestimmt die Daten und das Format der Informationen, die im Rw-Parameter erwartet werden.
Dieser Parameter kann einer der Werte aus dem TCP_ESTATS_TYPE Enumerationstyp sein, der in der Headerdatei "Tcpestats.h " definiert ist.
Wert | Bedeutung |
---|---|
|
Dieser Wert gibt erweiterte Datenübertragungsinformationen für eine TCP-Verbindung an.
Wenn dieser Wert angegeben wird, sollte der Puffer, auf den der Rw-Parameter verweist, auf eine TCP_ESTATS_DATA_RW_v0-Struktur verweisen. |
|
Dieser Wert gibt die Absenderüberlastung für eine TCP-Verbindung an.
Wenn dieser Wert angegeben wird, sollte der Puffer, auf den der Rw-Parameter verweist, auf eine TCP_ESTATS_SND_CONG_RW_v0-Struktur verweisen. |
|
Dieser Wert gibt erweiterte Pfadmessungsinformationen für eine TCP-Verbindung an.
Wenn dieser Wert angegeben wird, sollte der Puffer, auf den der Rw-Parameter verweist, auf eine TCP_ESTATS_PATH_RW_v0-Struktur verweisen. |
|
Dieser Wert gibt erweiterte Ausgabewarteschlangeninformationen für eine TCP-Verbindung an.
Wenn dieser Wert angegeben wird, sollte der Puffer, auf den der Rw-Parameter verweist, auf eine TCP_ESTATS_SEND_BUFF_RW_v0-Struktur verweisen. |
|
Dieser Wert gibt erweiterte lokale Empfängerinformationen für eine TCP-Verbindung an.
Wenn dieser Wert angegeben wird, sollte der Puffer, auf den der Rw-Parameter verweist, auf eine TCP_ESTATS_REC_RW_v0-Struktur verweisen. |
|
Dieser Wert gibt erweiterte Remoteempfängerinformationen für eine TCP-Verbindung an.
Wenn dieser Wert angegeben wird, sollte der Puffer, auf den der Rw-Parameter verweist, auf eine TCP_ESTATS_OBS_REC_RW_v0-Struktur verweisen. |
|
Dieser Wert gibt Statistiken zur Bandbreitenschätzung für eine TCP-Verbindung auf Bandbreite an.
Wenn dieser Wert angegeben wird, sollte der Puffer, auf den der Rw-Parameter verweist, auf eine TCP_ESTATS_BANDWIDTH_RW_v0-Struktur verweisen. |
|
Dieser Wert gibt differenzierte RTT-Schätzstatistiken (Roundtrip time) für eine TCP-Verbindung an.
Wenn dieser Wert angegeben wird, sollte der Puffer, auf den der Rw-Parameter verweist, auf eine TCP_ESTATS_FINE_RTT_RW_v0-Struktur verweisen. |
Rw
Ein Zeiger auf einen Puffer, der die festzulegenden Lese-/Schreibinformationen enthält. Der Puffer sollte einen Wert aus der TCP_BOOLEAN_OPTIONAL-Enumeration für jeden Strukturmember enthalten, der angibt, wie die einzelnen Member aktualisiert werden sollen.
RwVersion
Die Version der festzulegenden Lese-/Schreibinformationen. Dieser Parameter sollte für Windows Vista, Windows Server 2008 und Windows 7 auf Null festgelegt werden.
RwSize
Die Größe des Puffers in Bytes, auf den der Rw-Parameter verweist.
Offset
Der Offset in Bytes auf das Element in der Struktur, auf das der rw-Parameter verweist, der festgelegt werden soll. Dieser Parameter wird derzeit nicht verwendet und muss auf 0 (null) festgelegt werden.
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 |
---|---|
|
Zugriff verweigert.“ Dieser Fehler wird unter folgenden Bedingungen zurückgegeben: Dem Benutzer fehlen die erforderlichen Administratorrechte auf dem lokalen Computer, oder die Anwendung wird nicht in einer erweiterten Shell als integrierter Administrator (RunAs-Administrator) ausgeführt. |
|
„Der Parameter ist falsch.“ Dieser Fehler wird zurückgegeben, wenn der Row-Parameter ein NULL-Zeiger ist. |
|
Der angegebene Benutzerpuffer ist für den angeforderten Vorgang ungültig. Dieser Fehler wird zurückgegeben, wenn der Row-Parameter ein NULL-Zeiger und der RwSize-Parameter ungleich null ist. |
|
Dieser angeforderte Eintrag wurde nicht gefunden. Dieser Fehler wird zurückgegeben, wenn die im Row-Parameter angegebene TCP-Verbindung nicht gefunden werden konnte. |
|
Die Anforderung wird nicht unterstützt. Dieser Fehler wird zurückgegeben, wenn rwVersion oder der Offset-Parameter nicht auf 0 festgelegt ist. |
|
Verwenden Sie FormatMessage , um die Meldungszeichenfolge für den zurückgegebenen Fehler abzurufen. |
Hinweise
Die SetPerTcp6ConnectionEStats-Funktion ist unter Windows Vista und höher definiert.
Die SetPerTcp6ConnectionEStats-Funktion wird verwendet, um erweiterte Statistiken für die im Row-Parameter übergebene IPv6-TCP-Verbindung zu aktivieren oder zu deaktivieren. Erweiterte Statistiken für eine TCP-Verbindung sind standardmäßig deaktiviert.
Die SetPerTcp6ConnectionEStats-Funktion wird verwendet, um den Wert eines Members in den Lese-/Schreibinformationen für erweiterte Statistiken für eine IPv6-TCP-Verbindung festzulegen. Der Typ und das Format der festzulegenden Struktur werden durch den EstatsType-Parameter angegeben. Der Rw-Parameter enthält einen Zeiger auf die übergebene Struktur. Das in dieser Struktur festzulegende Element wird durch den Offset-Parameter angegeben. Alle Member in der Struktur, auf die vom Rw-Parameter verwiesen wird, müssen angegeben werden.
Die einzige derzeit unterstützte Version der TCP-Verbindungsstatistik ist Version 0. Daher sollte der an SetPerTcp6ConnectionEStats übergebene RwVersion-Parameter auf 0 festgelegt werden.
Die Struktur, auf die der Rw-Parameter verweist, der diese Funktion übergeben hat, hängt vom Enumerationswert ab, der im EstatsType-Parameter übergeben wird. In der folgenden Tabelle ist der Strukturtyp angegeben, der im Rw-Parameter für jeden möglichen EstatsType-Parametertyp übergeben werden soll.
EstatsType | Struktur, auf die rw verweist |
---|---|
TcpConnectionEstatsData | TCP_ESTATS_DATA_RW_v0 |
TcpConnectionEstatsSndCong | TCP_ESTATS_SND_CONG_RW_v0 |
TcpConnectionEstatsPath | TCP_ESTATS_PATH_RW_v0 |
TcpConnectionEstatsSendBuff | TCP_ESTATS_SEND_BUFF_RW_v0 |
TcpConnectionEstatsRec | TCP_ESTATS_REC_RW_v0 |
TcpConnectionEstatsObsRec | TCP_ESTATS_OBS_REC_RW_v0 |
TcpConnectionEstatsBandwidth | TCP_ESTATS_BANDWIDTH_RW_v0 |
TcpConnectionEstatsFineRtt | TCP_ESTATS_FINE_RTT_RW_v0 |
Der Offset-Parameter wird derzeit nicht verwendet. Die möglichen Strukturen, auf die der Rw-Parameter verweist, verfügen alle über ein einzelnes Element mit Ausnahme der TCP_ESTATS_BANDWIDTH_RW_v0-Struktur . Wenn der EstatsType-Parameter auf TcpConnectionEstatsBandwidth festgelegt ist, müssen für die TCP_ESTATS_BANDWIDTH_RW_v0 Struktur, auf die der Rw-Parameter verweist, beide Strukturmember in einem einzelnen Aufruf der SetPerTcp6ConnectionEStats-Funktion auf die bevorzugten Werte festgelegt sein.
Wenn der RwSize-Parameter auf 0 festgelegt ist, gibt die SetPerTcp6ConnectionEStats-Funktion NO_ERROR zurück und nimmt keine Änderungen am erweiterten statistik-status vor.
Die GetTcp6Table-Funktion wird verwendet, um die IPv6-TCP-Verbindungstabelle auf dem lokalen Computer abzurufen. Diese Funktion gibt eine MIB_TCP6TABLE-Struktur zurück, die ein Array von MIB_TCP6ROW Einträgen enthält. Der an die SetPerTcp6ConnectionEStats-Funktion übergebene Row-Parameter muss ein Eintrag für eine vorhandene IPv6-TCP-Verbindung sein.
Sobald erweiterte Statistiken für eine TCP-Verbindung für IPv6 aktiviert sind, ruft eine Anwendung die GetPerTcp6ConnectionEStats-Funktion auf, um erweiterte Statistiken für die TCP-Verbindung abzurufen.
Die GetPerTcp6ConnectionEStats-Funktion wurde entwickelt, um TCP zu verwenden, um Leistungsprobleme sowohl im Netzwerk als auch in der Anwendung zu diagnostizieren. Wenn eine netzwerkbasierte Anwendung eine schlechte Leistung aufweist, kann TCP ermitteln, ob der Engpass beim Absender, dem Empfänger oder im Netzwerk selbst liegt. Wenn der Engpass im Netzwerk liegt, kann TCP spezifische Informationen zu seiner Art bereitstellen.
Informationen zu erweiterten TCP-Statistiken für eine IPv4-Verbindung finden Sie unter den Funktionen GetPerTcpConnectionEStats und SetPerTcpConnectionEStats .
Die SetPerTcp6ConnectionEStats-Funktion kann nur von einem Benutzer aufgerufen werden, der als Mitglied der Gruppe Administratoren angemeldet ist. Wenn SetPerTcp6ConnectionEStats von einem Benutzer aufgerufen wird, der kein Mitglied der Gruppe Administratoren ist, schlägt der Funktionsaufruf fehl, und ERROR_ACCESS_DENIED wird zurückgegeben. Diese Funktion kann auch aufgrund der Benutzerkontensteuerung (UAC) unter Windows Vista und Windows Server 2008 fehlschlagen. Wenn eine Anwendung, die diese Funktion enthält, von einem Benutzer ausgeführt wird, der als Mitglied der Gruppe Administratoren angemeldet ist, die nicht der integrierten Administratorgruppe angehört, schlägt dieser Aufruf fehl, es sei denn, die Anwendung wurde in der Manifestdatei mit einem requestedExecutionLevel gekennzeichnet, der auf requireAdministrator festgelegt ist. Wenn in der Anwendung unter Windows Vista oder Windows Server 2008 diese Manifestdatei nicht vorhanden ist, muss ein Benutzer, der sich als Mitglied der Gruppe "Administratoren" angemeldet hat und nicht der integrierte Administrator die Anwendung in einer erweiterten Shell als integrierter Administrator (RunAs-Administrator) ausführen, damit diese Funktion erfolgreich ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | iphlpapi.h |
Bibliothek | Iphlpapi.lib |
DLL | Iphlpapi.dll |