Funzione GetUnicastIpAddressTable
La funzione GetUnicastIpAddressTable recupera la tabella degli indirizzi IP unicast in un computer locale.
Sintassi
NETIOAPI_API GetUnicastIpAddressTable(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_UNICASTIPADDRESS_TABLE *Table
);
Parametri
Famiglia [in]
Famiglia di indirizzi 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. Quando questo valore viene specificato, questa funzione restituisce la tabella di indirizzi IP multicast che contiene solo voci IPv4.AF_INET6
Famiglia di indirizzi IPv6. Quando questo valore viene specificato, questa funzione restituisce la tabella di indirizzi IP multicast che contiene solo voci IPv6.AF_UNSPEC
La famiglia di indirizzi non è specificata. Quando questo valore viene specificato, questa funzione restituisce la tabella di indirizzi IP multicast che contiene sia voci IPv4 che IPv6.
Tabella [out]
Puntatore a una struttura MIB_UNICASTIPADDRESS_TABLE che contiene una tabella di voci di indirizzi IP unicast nel computer locale.
Valore restituito
GetUnicastIpAddressTable restituisce STATUS_SUCCESS se la funzione ha esito positivo.
Se la funzione ha esito negativo, GetUnicastIpAddressTable 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 di indirizzo IP unicast, come specificato nel parametro Family . |
STATUS_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 se non si trova alcun stack IPv6 nel computer locale e AF_INET6 è stato specificato nel parametro Family . 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 GetUnicastIpAddressTable enumera gli indirizzi IP unicast in un computer locale e restituisce queste informazioni in una struttura MIB_UNICASTIPADDRESS_TABLE .
GetUnicastIpAddressTable restituisce le voci di indirizzo IP unicast in una struttura MIB_UNICASTIPADDRESS_TABLE nel buffer a cui punta il parametro Table . La struttura MIB_UNICASTIPADDRESS_TABLE contiene un numero di voci di indirizzi IP unicast e una matrice di strutture MIB_UNICASTIPADDRESS_ROW per ogni voce di indirizzo IP unicast. Quando queste strutture restituite non sono più necessarie, il driver deve liberare la memoria chiamando FreeMibTable.
Il driver deve inizializzare il parametro Family in AF_INET, AF_INET6 o AF_UNSPEC.
Si noti che la struttura restituita MIB_UNICASTIPADDRESS_TABLE che il parametro Table punta a potrebbe contenere spaziatura interna per l'allineamento tra il membro NumEntries e la prima voce di matrice MIB_UNICASTIPADDRESS_ROW nel membro Table della struttura MIB_UNICASTIPADDRESS_TABLE. Il riempimento per l'allineamento potrebbe essere presente anche tra le voci della matrice MIB_UNICASTIPADDRESS_ROW. Qualsiasi accesso a una voce di matrice MIB_UNICASTIPADDRESS_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
InitializeUnicastIpAddressEntry