Funzione GetIpInterfaceEntry

La funzione GetIpInterfaceEntry recupera le 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. In input, il driver deve impostare il membro InterfaceLuid o il membro InterfaceIndex del MIB_IPINTERFACE_ROW sull'interfaccia per recuperare informazioni.

Valore restituito

GetIpInterfaceEntry restituisce STATUS_SUCCESS se la funzione ha esito positivo.

Se la funzione ha esito negativo, GetIpInterfaceEntry 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 Row , il membro Famiglia della struttura MIB_IPINTERFACE_ROW che il parametro Row punta a non è stato specificato come AF_INET o AF_INET6 o i membri 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 membro InterfaceLuid o InterfaceIndex della struttura MIB_IPINTERFACE_ROW a cui punta il parametro Row .

Altri

Utilizzare la funzione FormatMessage per ottenere la stringa di messaggio per l'errore restituito.

Commenti

In input, il driver deve inizializzare i membri seguenti della struttura MIB_IPINTERFACE_ROW a cui punta il parametro Row .

  • Famiglia
    Impostare su AF_INET o AF_INET6.

  • InterfaceLuid o InterfaceIndex
    Questi membri vengono usati nell'ordine elencato in precedenza. Quindi, se InterfaceLuid viene specificato, 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 riempie i membri rimanenti della struttura MIB_IPINTERFACE_ROW a cui punta il parametro Row .

Il driver deve usare la funzione InitializeIpInterfaceEntry per 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 non privilegiato a più reti di diversi requisiti di sicurezza crea un buco di sicurezza e consente a un driver non privato 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 l'accesso simultaneo aumentando la metrica di route di tutte le route predefinite su altre interfacce. Pertanto, tutto il traffico viene instradato tramite 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 viene specificato un indirizzo IP di origine nella ricerca della route usando la funzione GetBestRoute2 , la ricerca della route è limitata all'interfaccia dell'indirizzo IP di origine. La modifica della metrica 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 a Internet. Il driver può usare il membro DisableDefaultRoutes 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 tunneling di divisione 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 .

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

GetBestRoute2

GetIfEntry2

GetIfTable2

GetIfTable2Ex

GetIpInterfaceTable

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_IPINTERFACE_ROW

MIB_IPINTERFACE_TABLE

SetIpInterfaceEntry