Funzione GetIpInterfaceTable
La funzione GetIpInterfaceTable recupera le voci dell'interfaccia IP in un computer locale.
Sintassi
NETIOAPI_API GetIpInterfaceTable(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_IPINTERFACE_TABLE *Table
);
Parametri
Famiglia [in]
Famiglia di indirizzi di interfacce IP da recuperare.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 da poter usare una costante.
In Windows Vista e versioni successive dei sistemi operativi Windows, i valori possibili per il parametro Family sono definiti nel file di intestazione Ws2def.h. Si noti che il file di intestazione Ws2def.h viene incluso automaticamente in Netioapi.h e non usare mai Ws2def.h direttamente.
I valori seguenti sono attualmente supportati per la famiglia di indirizzi:
AF_INET
Famiglia di indirizzi IPv4.AF_INET6
Famiglia di indirizzi IPv6.AF_UNSPEC
La famiglia di indirizzi non è specificata. Quando viene specificato questo valore, la funzione GetIpInterfaceTable restituisce la tabella dell'interfaccia IP che contiene sia le voci IPv4 che IPv6.
Tabella [out]
Puntatore a un buffer che riceve la tabella delle voci dell'interfaccia IP in una struttura MIB_IPINTERFACE_TABLE .
Valore restituito
GetIpInterfaceTable restituisce STATUS_SUCCESS se la funzione ha esito positivo.
Se la funzione ha esito negativo, GetIpInterfaceTable restituisce uno dei codici di errore seguenti:
Codice restituito | Descrizione |
---|---|
STATUS_INVALID_PARAMETER | Un parametro non valido è stato passato alla funzione. Questo errore viene restituito se un puntatore NULL viene passato nel parametro Table o il parametro Family non è stato specificato come AF_INET, AF_INET6 o AF_UNSPEC. |
STATUS_NOT_ENOUGH_MEMORY | Le risorse di memoria insufficienti sono disponibili per completare l'operazione. |
STATUS_NOT_FOUND | Non sono state trovate voci dell'interfaccia IP, come specificato nel parametro Family . |
STATUS_NOT_SUPPORTED | La funzione non è supportata. Questo errore viene restituito quando il trasporto IP specificato nel parametro Address non è configurato nel computer locale. Questo errore viene restituito anche nelle versioni di Windows in cui questa funzione non è supportata. |
Altri | Utilizzare la funzione FormatMessage per ottenere la stringa di messaggio per l'errore restituito. |
Commenti
La funzione GetIpInterfaceTable enumera le interfacce IP in un computer locale e restituisce queste informazioni in una struttura MIB_IPINTERFACE_TABLE .
GetIpInterfaceTable restituisce le voci dell'interfaccia IP in una struttura MIB_IPINTERFACE_TABLE nel buffer a cui punta il parametro Table . La struttura MIB_IPINTERFACE_TABLE contiene un conteggio delle voci dell'interfaccia IP e una matrice di strutture MIB_IPINTERFACE_ROW per ogni voce dell'interfaccia IP. Quando queste strutture restituite non sono più necessarie, il driver deve liberare la memoria chiamando la funzione FreeMibTable .
Il driver deve inizializzare il parametro Family per AF_INET o AF_INET6.
Si noti che la struttura MIB_IPINTERFACE_TABLE restituita che il parametro Table punta a potrebbe contenere spaziatura interna per l'allineamento tra il membro NumEntries e la prima voce della matrice MIB_IPINTERFACE_ROW nel membro Table della struttura MIB_IPINTERFACE_TABLE. La spaziatura interna per l'allineamento potrebbe essere presente anche tra le voci della matrice MIB_IPINTERFACE_ROW. Qualsiasi accesso a una voce di matrice MIB_IPINTERFACE_ROW deve presupporre che la spaziatura interna possa esistere.
Requisiti
Piattaforma di destinazione |
Universale |
Versione |
Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
Intestazione |
Netioapi.h (include Netioapi.h) |
Libreria |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |