Funzione SetIpStatisticsEx (iphlpapi.h)

La funzione SetIpStatisticsEx attiva o disattiva l'inoltro IP e imposta il valore TTL (time-to-live) predefinito per il computer locale.

Sintassi

IPHLPAPI_DLL_LINKAGE ULONG SetIpStatisticsEx(
  [in] PMIB_IPSTATS Statistics,
       ULONG        Family
);

Parametri

[in] Statistics

Puntatore a una struttura MIB_IPSTATS . Il chiamante deve impostare i membri dwForwarding e dwDefaultTTL di questa struttura sui nuovi valori. Per mantenere uno dei membri al relativo valore corrente, usare MIB_USE_CURRENT_TTL o MIB_USE_CURRENT_FORWARDING.

Family

Famiglia di indirizzi per cui l'inoltro e il TTL devono essere impostati.

I valori possibili per la famiglia di indirizzi sono elencati nel file di intestazione Winsock2.h . Si noti che i valori per la famiglia di indirizzi AF_ e le costanti della famiglia di protocolli di PF_ sono identiche (ad esempio, AF_INET e PF_INET), in modo che sia possibile usare una costante.

In Windows SDK rilasciato per Windows Vista e versioni successive, l'organizzazione dei file di intestazione è stata modificata e i valori possibili per questo membro vengono definiti nel file di intestazione Ws2def.h . Si noti che il file di intestazione Ws2def.h viene incluso automaticamente in Winsock2.h e non deve mai essere usato direttamente.

I valori attualmente supportati sono AF_INET e AF_INET6.

Valore Significato
AF_INET
2
Famiglia di indirizzi Internet Protocol versione 4 (IPv4). Quando questo parametro viene specificato, questa funzione imposta le opzioni di inoltro e TTL per le voci IPv4.
AF_INET6
23
Famiglia di indirizzi IPv6 (Internet Protocol 6). Quando questo parametro viene specificato, questa funzione imposta le opzioni di inoltro e TTL per le voci IPv6.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è 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
Un parametro non valido è stato passato alla funzione. Questo errore viene restituito se un puntatore NULL viene passato nel parametro pIpStats o il parametro Family non è stato impostato su AF_INET e AF_INET6. Questo errore viene restituito anche se il membro dwForwarding nella struttura MIB_IPSTATS puntato dal parametro pIpStats contiene un valore diverso daMIB_IP_NOT_FORWARDING, MIB_IP_FORWARDING o MIB_USE_CURRENT_FORWARDING.
ERROR_NOT_SUPPORTED
La richiesta non è supportata. Questo errore viene restituito se non si trova alcun stack IPv4 nel computer locale e AF_INET è stato specificato nel parametro Family o nessun stack IPv6 è nel computer locale e AF_INET6 è stato specificato nel membro Famiglia .
Altri
Usare FormatMessage per ottenere la stringa di messaggio per l'errore restituito.

Commenti

Per impostare solo il TTL predefinito, il chiamante può usare anche la funzione SetIpTTL .

La funzione SetIpStatisticsEx può essere chiamata solo da un utente connesso come membro del gruppo Administrators. Se SetIpStatisticsEx viene chiamato da un utente che non è membro del gruppo Administrators, la chiamata alla funzione avrà esito negativo e viene restituita ERROR_ACCESS_DENIED.

La funzione SetIpStatisticsEx può anche non riuscire a causa del controllo dell'account utente in Windows Vista e versioni successive. Se un'applicazione contenente 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 per richiedereAdministrator. Se l'applicazione in mancanza di questo file manifesto, un utente ha eseguito l'accesso come membro del gruppo Administrators diverso dall'amministratore predefinito, deve quindi eseguire l'applicazione in una shell avanzata come amministratore predefinito (amministratore RunAs) per la riuscita di questa funzione.

Requisiti

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

Vedi anche

Informazioni di riferimento sulla funzione helper IP

Pagina iniziale dell'helper IP

MIB_IPSTATS

SetIpStatistics

SetIpTTL