Condividi tramite


Funzione GetIpInterfaceEntry

La funzione GetIpInterfaceEntry recupera informazioni IP per l'interfaccia specificata in un computer locale.

Sintassi

NETIOAPI_API GetIpInterfaceEntry(
  _Inout_ PMIB_IPINTERFACE_ROW Row
);

Parametri

  • riga [in, out]
    Puntatore a una struttura MIB_IPINTERFACE_ROW che, in caso di esito positivo, riceve informazioni per un'interfaccia nel computer locale. All'input, il driver deve impostare il membro InterfaceLuid o il membro InterfaceIndex dell'MIB_IPINTERFACE_ROW all'interfaccia per cui recuperare le informazioni.

Valore restituito

GetIpInterfaceEntry restituisce STATUS_SUCCESS se la funzione ha esito positivo.

Se la funzione non riesce, getIpInterfaceEntry restituisce uno dei codici di errore seguenti:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER

Alla funzione è stato passato un parametro non valido. Questo errore viene restituito se un puntatore NULL viene passato nel parametro row, il membro Family della struttura MIB_IPINTERFACE_ROW a cui punta il parametro Row non è stato specificato come AF_INET o AF_INET6 oppure i membri InterfaceLuid InterfaceLuid e InterfaceIndex della struttura MIB_IPINTERFACE_ROW non sono stati specificati.

STATUS_NOT_FOUND

Impossibile trovare l'interfaccia specificata. Questo errore viene restituito se la funzione non riesce a trovare l'interfaccia di rete specificata dal InterfaceLuid o membro InterfaceIndex della struttura MIB_IPINTERFACE_ROW a cui punta il parametro Row.

Altro

Usare la funzione FormatMessage per ottenere la stringa del messaggio per l'errore restituito.

Osservazioni

All'input, il driver deve inizializzare i membri seguenti della struttura di MIB_IPINTERFACE_ROW a cui punta il parametro row.

  • famiglia
    Impostare su AF_INET o AF_INET6.

  • InterfaceLuid o InterfaceIndex
    Questi membri vengono utilizzati nell'ordine elencato in precedenza. Pertanto, se si specifica InterfaceLuid, questo membro viene usato per determinare l'interfaccia. Se non è stato impostato alcun valore per il membro InterfaceLuid (il valore di questo membro è stato impostato su zero), il membro InterfaceIndex viene usato successivamente per determinare l'interfaccia.

Nell'output GetIpInterfaceEntry compila i membri rimanenti della struttura MIB_IPINTERFACE_ROW a cui punta il parametro Row.

Il driver deve usare la funzioneInitializeIpInterfaceEntryper inizializzare i campi di una voce di struttura MIB_IPINTERFACE_ROW con valori predefiniti. Un driver può quindi modificare i campi nella voce MIB_IPINTERFACE_ROW che vuole modificare e quindi chiamare la funzione SetIpInterfaceEntry.

L'accesso simultaneo senza privilegi a più reti di requisiti di sicurezza diversi crea un foro di sicurezza e consente a un driver senza privilegi di inoltrare accidentalmente i dati tra le due reti. Un esempio tipico è l'accesso simultaneo a una rete privata virtuale (VPN) e a Internet. I sistemi operativi Windows Server 2003 e Windows XP usano un modello host debole, in cui il servizio di accesso remoto (RAS) impedisce tale accesso simultaneo aumentando la metrica di route di tutte le route predefinite su altre interfacce. Di conseguenza, tutto il traffico viene instradato attraverso l'interfaccia VPN, interrompendo la connettività di rete.

In Windows Vista e versioni successive dei sistemi operativi Windows, per impostazione predefinita viene usato un modello host sicuro. Se un indirizzo IP di origine viene specificato nella ricerca della route usando la funzione GetBestRoute2, la ricerca della route è limitata all'interfaccia dell'indirizzo IP di origine. La modifica delle metriche di route da RAS non ha alcun effetto perché l'elenco di potenziali route non ha nemmeno la route per l'interfaccia VPN, che consente il traffico verso Internet. Il driver può usare il DisableDefaultRoutes membro del MIB_IPINTERFACE_ROW per disabilitare l'uso della route predefinita in un'interfaccia. I client VPN possono usare questo membro come misura di sicurezza per limitare il split tunneling quando il tunneling diviso non è richiesto dal client VPN. Un client VPN può chiamare la funzione SetIpInterfaceEntry per impostare il membro DisableDefaultRoutes su TRUE quando necessario. Un client VPN può eseguire una query sullo stato corrente del membro DisableDefaultRoutes chiamando la funzione GetIpInterfaceEntry.

Fabbisogno

Piattaforma di destinazione

universale

Versione

Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.

Intestazione

Netioapi.h (include Netioapi.h)

Biblioteca

Netio.lib

IRQL

< DISPATCH_LEVEL

Vedere anche

GetBestRoute2

GetIfEntry2

GetIfTable2

GetIfTable2Ex

GetIpInterfaceTable

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_IPINTERFACE_ROW

MIB_IPINTERFACE_TABLE

SetIpInterfaceEntry