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 |
---|---|
|
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 . |
|
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 . |
|
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 . |
|
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 . |
|
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 . |
|
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 . |
|
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 . |
|
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 |
---|---|
|
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). |
|
Parametro non corretto. Questo errore viene restituito se il parametro Row è un puntatore NULL . |
|
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. |
|
Questa voce richiesta non è stata trovata. Questo errore viene restituito se non è stato possibile trovare la connessione TCP specificata nel parametro Row . |
|
La richiesta non è supportata. Questo errore viene restituito se il parametro RwVersion o Offset non è impostato su 0. |
|
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 |