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

Vedi anche

FreeMibTable

MIB_IPINTERFACE_ROW

MIB_IPINTERFACE_TABLE

MIB_IPNET_ROW2

MIB_IPNET_TABLE2