Funzione SetIpForwardEntry2

La funzione SetIpForwardEntry2 imposta le proprietà di una voce di route IP in un computer locale.

Sintassi

NETIOAPI_API SetIpForwardEntry2(
  _In_ const MIB_IPFORWARD_ROW2 *Route
);

Parametri

  • Route [in]
    Puntatore a una voce della struttura MIB_IPFORWARD_ROW2 per una voce di route IP. Il driver deve impostare il membro DestinationPrefix della struttura MIB_IPFORWARD_ROW2 su un prefisso e una famiglia di destinazione IP validi, impostare il membro NextHop di MIB_IPFORWARD_ROW2 su un indirizzo IP e una famiglia validi e specificare il membro InterfaceLuid o il membro InterfaceIndex di MIB_IPFORWARD_ROW2.

Valore restituito

SetIpForwardEntry2 restituisce STATUS_SUCCESS se la funzione ha esito positivo.

Se la funzione ha esito negativo, SetIpForwardEntry2 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 viene passato un puntatore NULL nel parametro Route, il membro DestinationPrefix della struttura MIB_IPFORWARD_ROW2 a cui punta il parametro Route non è stato specificato, il membro NextHop della struttura MIB_IPFORWARD_ROW2 non è stato specificato o i membri InterfaceLuid e InterfaceIndex della struttura MIB_IPFORWARD_ROW2 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_IPFORWARD_ROW2 a cui punta il parametro Route .

Altro

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

Osservazioni:

La funzione SetIpForwardEntry2 viene utilizzata per impostare le proprietà per una voce di route IP esistente in un computer locale.

Il driver deve inizializzare i membri seguenti della struttura MIB_IPFORWARD_ROW2 a cui punta il parametro Row.

  • DestinationPrefix
    Impostare su un prefisso e una famiglia di indirizzi IPv4 o IPv6 validi.

  • NextHop
    Impostare su un indirizzo e una famiglia IPv4 o IPv6 validi.

  • 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.

Offset della metrica di route specificato nel membro Metric della struttura MIB_IPFORWARD_ROW2 che il parametro Route punta a rappresenta solo parte della metrica di route completa. La metrica completa è una combinazione di questo offset della metrica di route aggiunto alla metrica di interfaccia specificata nel membro Metrica della struttura MIB_IPINTERFACE_ROW dell'interfaccia associata. Un driver può recuperare la metrica dell'interfaccia chiamando la funzione GetIpInterfaceEntry.

SetIpForwardEntry2 ignora i membri Age e Origin della struttura MIB_IPFORWARD_ROW2 a cui punta il parametro Row . Questi membri vengono impostati dallo stack di rete e non possono essere modificati tramite la funzione SetIpForwardEntry2 .

La funzione SetIpForwardEntry2 ha esito negativo se i membri DestinationPrefix e NextHop della struttura MIB_IPFORWARD_ROW2 a cui punta il parametro Route non corrispondono a una voce di route IP nell'interfaccia specificata.

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

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2