Condividi tramite


Funzione FlushIpNetTable2 (netioapi.h)

La funzione FlushIpNetTable2 scarica la tabella adiacente IP nel computer locale.

Sintassi

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API FlushIpNetTable2(
  [in] ADDRESS_FAMILY Family,
  [in] NET_IFINDEX    InterfaceIndex
);

Parametri

[in] Family

Famiglia di indirizzi da scaricare.

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.

Nella Windows SDK rilasciata 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, AF_INET6 e AF_UNSPEC.

Valore Significato
AF_UNSPEC
0
La famiglia di indirizzi non è specificata. Quando questo parametro viene specificato, questa funzione scarica la tabella degli indirizzi IP adiacenti contenente sia le voci IPv4 che IPv6.
AF_INET
2
Famiglia di indirizzi Internet Protocol versione 4 (IPv4). Quando questo parametro viene specificato, questa funzione scarica la tabella degli indirizzi IP adiacenti contenente solo le voci IPv4.
AF_INET6
23
Famiglia di indirizzi IPv6 (Internet Protocol 6). Quando questo parametro viene specificato, questa funzione scarica la tabella degli indirizzi IP adiacenti contenente solo voci IPv6.

[in] InterfaceIndex

Indice dell'interfaccia. Se l'indice viene specificato, scaricare le voci degli indirizzi IP adiacenti in un'interfaccia specifica, in caso contrario scaricare le voci degli indirizzi IP adiacenti in tutte le interfacce. Per ignorare l'interfaccia, impostare questo parametro su zero.

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 il parametro Family non è stato specificato come AF_INET, AF_INET6 o AF_UNSPEC.
ERROR_NOT_SUPPORTED
La richiesta non è supportata. Questo errore viene restituito se nel computer locale non è presente alcun stack IPv4 e AF_INET è stato specificato nel parametro Family . Questo errore viene restituito anche se nel computer locale non è presente alcun stack IPv6 e AF_INET6 è stato specificato nel parametro Family . Questo errore viene restituito anche nelle versioni di Windows in cui questa funzione non è supportata.
Altri
Usare FormatMessage per ottenere la stringa di messaggio per l'errore restituito.

Commenti

La funzione FlushIpNetTable2 è definita in Windows Vista e versioni successive.

The
La funzione FlushIpNetTable2 scarica o elimina gli indirizzi IP adiacenti in un sistema locale. Il parametro Family può essere usato per limitare gli indirizzi IP vicini da eliminare a una determinata famiglia di indirizzi IP. Se gli indirizzi IP adiacenti per IPv4 e IPv6 devono essere eliminati, impostare il parametro Family su AF_UNSPEC. Il parametro InterfaceIndex può essere usato per limitare gli indirizzi IP vicini da eliminare a una determinata interfaccia. Se gli indirizzi IP adiacenti per tutte le interfacce devono essere eliminati, impostare il parametro InterfaceIndex su zero.

Il parametro Family deve essere inizializzato in AF_INET, AF_INET6 o AF_UNSPEC.

La funzione FlushIpNetTable2 può essere chiamata solo da un utente connesso come membro del gruppo Administrators. Se FlushIpNetTable2 viene chiamato da un utente che non è membro del gruppo Administrators, la chiamata alla funzione avrà esito negativo e ERROR_ACCESS_DENIED viene restituita. Questa funzione può anche non riuscire a causa del controllo account utente (UAC) 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 manca 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

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

Vedi anche

CreateIpNetEntry2

DeleteIpNetEntry2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2