Condividi tramite


Funzione SetPerTcp6ConnectionEStats (iphlpapi.h)

La funzione SetPerTcp6ConnectionEStats imposta un valore nelle informazioni di lettura/scrittura per una connessione TCP IPv6. Questa funzione viene usata per abilitare o disabilitare le statistiche estese per una connessione TCP IPv6.

Sintassi

IPHLPAPI_DLL_LINKAGE ULONG SetPerTcp6ConnectionEStats(
  PMIB_TCP6ROW    Row,
  TCP_ESTATS_TYPE EstatsType,
  PUCHAR          Rw,
  ULONG           RwVersion,
  ULONG           RwSize,
  ULONG           Offset
);

Parametri

Row

Puntatore a una struttura MIB_TCP6ROW per una connessione TCP IPv6.

EstatsType

Tipo di statistiche estese da impostare per TCP. Questo parametro determina i dati e il formato delle informazioni previste nel parametro Rw .

Questo parametro può essere uno dei valori del tipo di enumerazione TCP_ESTATS_TYPE definito nel file di intestazione Tcpestats.h .

Valore Significato
TcpConnectionEstatsData
Questo valore specifica le informazioni di trasferimento dati estese per una connessione TCP.

Quando questo valore viene specificato, il buffer a cui punta il parametro Rw deve puntare a una struttura TCP_ESTATS_DATA_RW_v0 .

TcpConnectionEstatsSndCong
Questo valore specifica la congestione del mittente per una connessione TCP.

Quando questo valore viene specificato, il buffer a cui punta il parametro Rw deve puntare a una struttura TCP_ESTATS_SND_CONG_RW_v0 .

TcpConnectionEstatsPath
Questo valore specifica le informazioni di misurazione del percorso esteso per una connessione TCP.

Quando questo valore viene specificato, il buffer a cui punta il parametro Rw deve puntare a una struttura TCP_ESTATS_PATH_RW_v0 .

TcpConnectionEstatsSendBuff
Questo valore specifica le informazioni estese di accodamento dell'output per una connessione TCP.

Quando questo valore viene specificato, il buffer a cui punta il parametro Rw deve puntare a una struttura TCP_ESTATS_SEND_BUFF_RW_v0 .

TcpConnectionEstatsRec
Questo valore specifica le informazioni estese sul ricevitore locale per una connessione TCP.

Quando questo valore viene specificato, il buffer a cui punta il parametro Rw deve puntare a una struttura TCP_ESTATS_REC_RW_v0 .

TcpConnectionEstatsObsRec
Questo valore specifica le informazioni estese sul ricevitore remoto per una connessione TCP.

Quando questo valore viene specificato, il buffer a cui punta il parametro Rw deve puntare a una struttura TCP_ESTATS_OBS_REC_RW_v0 .

TcpConnectionEstatsBandwidth
Questo valore specifica le statistiche di stima della larghezza di banda per una connessione TCP sulla larghezza di banda.

Quando questo valore viene specificato, il buffer a cui punta il parametro Rw deve puntare a una struttura TCP_ESTATS_BANDWIDTH_RW_v0 .

TcpConnectionEstatsFineRtt
Questo valore specifica le statistiche di stima RTT (Round Trip Time) con granularità fine per una connessione TCP.

Quando questo valore viene specificato, il buffer a cui punta il parametro Rw deve puntare a una struttura TCP_ESTATS_FINE_RTT_RW_v0 .

Rw

Puntatore a un buffer contenente le informazioni di lettura/scrittura da impostare. Il buffer deve contenere un valore dell'enumerazione TCP_BOOLEAN_OPTIONAL per ogni membro della struttura che specifica come aggiornare ogni membro.

RwVersion

Versione delle informazioni di lettura/scrittura da impostare. Questo parametro deve essere impostato su zero per Windows Vista, Windows Server 2008 e Windows 7.

RwSize

Dimensione, in byte, del buffer a cui punta il parametro Rw .

Offset

Offset, in byte, al membro nella struttura a cui punta il parametro Rw da impostare. Questo parametro è attualmente inutilizzato e deve essere impostato su zero.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene NO_ERROR.

Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.

Codice restituito Descrizione
ERROR_ACCESS_DENIED
Accesso negato. Questo errore viene restituito in diverse condizioni che includono quanto segue: l'utente non dispone dei privilegi amministrativi necessari nel computer locale o l'applicazione non è in esecuzione in una shell avanzata come amministratore predefinito (amministratore RunAs).
ERROR_INVALID_PARAMETER
Parametro non corretto. Questo errore viene restituito se il parametro Row è un puntatore NULL .
ERROR_INVALID_USER_BUFFER
Il buffer utente fornito non è valido per l'operazione richiesta. Questo errore viene restituito se il parametro Row è un puntatore NULL e il parametro RwSize è diverso da zero.
ERROR_NOT_FOUND
Questa voce richiesta non è stata trovata. Questo errore viene restituito se non è stato possibile trovare la connessione TCP specificata nel parametro Row .
ERROR_NOT_SUPPORTED
La richiesta non è supportata. Questo errore viene restituito se il parametro RwVersion o Offset non è impostato su 0.
Altri
Usare FormatMessage per ottenere la stringa del messaggio per l'errore restituito.

Commenti

La funzione SetPerTcp6ConnectionEStats viene definita in Windows Vista e versioni successive.

La funzione SetPerTcp6ConnectionEStats viene usata per abilitare o disabilitare le statistiche estese per la connessione TCP IPv6 passata nel parametro Row . Le statistiche estese su una connessione TCP sono disabilitate per impostazione predefinita.

La funzione SetPerTcp6ConnectionEStats viene utilizzata per impostare il valore di un membro nelle informazioni di lettura/scrittura per le statistiche estese per una connessione TCP IPv6. Il tipo e il formato della struttura da impostare sono specificati dal parametro EstatsType . Il parametro Rw contiene un puntatore alla struttura passata. Il membro da impostare in questa struttura viene specificato dal parametro Offset . È necessario specificare tutti i membri della struttura a cui punta il parametro Rw .

L'unica versione delle statistiche di connessione TCP attualmente supportata è la versione zero. Il parametro RwVersion passato a SetPerTcp6ConnectionEStats deve quindi essere impostato su 0.

La struttura a cui punta il parametro Rw ha passato questa funzione dipende dal valore di enumerazione passato nel parametro EstatsType . La tabella seguente indica il tipo di struttura che deve essere passato nel parametro Rw per ogni possibile tipo di parametro EstatsType .

EstatsType Struttura a cui punta Rw
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
 

Il parametro Offset è attualmente inutilizzato. Le possibili strutture a cui punta il parametro Rw hanno tutti un singolo membro, ad eccezione della struttura TCP_ESTATS_BANDWIDTH_RW_v0 . Quando il parametro EstatsType è impostato su TcpConnectionEstatsBandwidth, la struttura TCP_ESTATS_BANDWIDTH_RW_v0 a cui punta il parametro Rw deve avere entrambi i membri della struttura impostati sui valori preferiti in una singola chiamata alla funzione SetPerTcp6ConnectionEStats .

Se il parametro RwSize è impostato su 0, la funzione SetPerTcp6ConnectionEStats restituisce NO_ERROR e non apporta modifiche allo stato delle statistiche estese.

La funzione GetTcp6Table viene utilizzata per recuperare la tabella di connessione TCP IPv6 nel computer locale. Questa funzione restituisce una struttura MIB_TCP6TABLE che contiene una matrice di voci MIB_TCP6ROW . Il parametro Row passato alla funzione SetPerTcp6ConnectionEStats deve essere una voce per una connessione TCP IPv6 esistente.

Dopo aver abilitato le statistiche estese in una connessione TCP per IPv6, un'applicazione chiama la funzione GetPerTcp6ConnectionEStats per recuperare le statistiche estese sulla connessione TCP.

La funzione GetPerTcp6ConnectionEStats è progettata per usare TCP per diagnosticare i problemi di prestazioni sia nella rete che nell'applicazione. Se un'applicazione basata su rete ha prestazioni scarse, TCP può determinare se il collo di bottiglia si trova nel mittente, nel ricevitore o nella rete stessa. Se il collo di bottiglia si trova nella rete, TCP può fornire informazioni specifiche sulla sua natura.

Per informazioni sulle statistiche TCP estese su una connessione IPv4, vedere le funzioni GetPerTcpConnectionEStats e SetPerTcpConnectionEStats .

La funzione SetPerTcp6ConnectionEStats può essere chiamata solo da un utente connesso come membro del gruppo Administrators. Se SetPerTcp6ConnectionEStats viene chiamato da un utente che non è membro del gruppo Administrators, la chiamata di funzione avrà esito negativo e ERROR_ACCESS_DENIED viene restituito. Questa funzione può avere esito negativo anche a causa del controllo dell'account utente in Windows Vista e Windows Server 2008. Se un'applicazione che contiene questa funzione viene eseguita da un utente connesso come membro del gruppo Administrators diverso dall'amministratore predefinito, questa chiamata avrà esito negativo a meno che l'applicazione non sia stata contrassegnata nel file manifesto con un set requestedExecutionLevel impostato su requireAdministrator. Se l'applicazione in Windows Vista o Windows Server 2008 non dispone di questo file manifesto, un utente connesso come membro del gruppo Administrators diverso dall'amministratore predefinito deve quindi eseguire l'applicazione in una shell avanzata come amministratore predefinito (amministratore RunAs) affinché questa funzione abbia esito positivo.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione iphlpapi.h
Libreria Iphlpapi.lib
DLL Iphlpapi.dll

Vedi anche

GetPerTcp6ConnectionEStats

GetPerTcpConnectionEStats

GetTcp6Table

MIB_TCP6ROW

MIB_TCP6TABLE

SetPerTcpConnectionEStats

TCP_BOOLEAN_OPTIONAL

TCP_ESTATS_BANDWIDTH_RW_v0

TCP_ESTATS_DATA_RW_v0

TCP_ESTATS_FINE_RTT_RW_v0

TCP_ESTATS_OBS_REC_RW_v0

TCP_ESTATS_PATH_RW_v0

TCP_ESTATS_REC_RW_v0

TCP_ESTATS_SEND_BUFF_RW_v0

TCP_ESTATS_SND_CONG_RW_v0

TCP_ESTATS_TYPE