Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La funzione CreateIpForwardEntry2 crea una nuova voce di route IP in un computer locale.
Sintassi
NETIOAPI_API CreateIpForwardEntry2(
_In_ const MIB_IPFORWARD_ROW2 *Row
);
Parametri
-
riga [in]
Puntatore a una voce di struttura MIB_IPFORWARD_ROW2 per una voce di route IP.
Valore restituito
CreateIpForwardEntry2 restituisce STATUS_SUCCESS se la funzione ha esito positivo.
Se la funzione non riesce, CreateIpForwardEntry2 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 si verifica una delle situazioni seguenti:
Questo errore viene restituito se un puntatore NULL viene passato nel parametro Row, il membro DestinationPrefix della struttura MIB_IPFORWARD_ROW2 a cui punta il parametro Row non è stato specificato, il membro NextHop della struttura MIB_IPFORWARD_ROW2 non è stato specificato, o entrambi InterfaceLuid e InterfaceIndex membri della struttura di MIB_IPFORWARD_ROW2 non sono stati specificati. Questo errore viene restituito anche se il membro PreferredLifetime specificato nella struttura MIB_IPFORWARD_ROW2 è maggiore del membro ValidLifetime oppure se il SitePrefixLength nella struttura MIB_IPFORWARD_ROW2 è maggiore della lunghezza del prefisso specificata nel membro DestinationPrefix. |
| 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 InterfaceIndex membro della struttura MIB_IPNET_ROW2 a cui punta il parametro Row. |
| STATUS_NOT_SUPPORTED | La richiesta non è supportata. Questo errore viene restituito se l'interfaccia specificata non supporta le route. Questo errore viene restituito se non si trova alcun stack IPv4 nel computer locale e AF_INET è stato specificato nella famiglia di indirizzi nel DestinationPrefix membro della struttura MIB_IPFORWARD_ROW2 a cui punta il parametro riga oppure se non si trova alcun stack IPv6 nel computer locale e AF_INET6 è stato specificato per la famiglia di indirizzi nel membro DestinationPrefix. |
| ERROR_OBJECT_ALREADY_EXISTS | L'oggetto esiste già. Questo errore viene restituito se il DestinationPrefix membro della struttura MIB_IPFORWARD_ROW2 a cui punta il parametro Row è un duplicato di una voce di route IP esistente nell'interfaccia specificata dal InterfaceLuid o InterfaceIndex membro della struttura MIB_IPFORWARD_ROW2. |
| Altro | Usare la funzione FormatMessage per ottenere la stringa del messaggio per l'errore restituito. |
Osservazioni
La funzione CreateIpForwardEntry2 viene usata per aggiungere una nuova voce di indirizzo IP adiacente in un computer locale. Utilizzare la funzione InitializeIpForwardEntry per inizializzare i membri di una voce di struttura MIB_IPFORWARD_ROW2 con valori predefiniti. Un driver può quindi modificare i membri nella voce di MIB_IPFORWARD_ROW2 che vuole modificare e quindi chiamare CreateIpForwardEntry2.
Il driver deve inizializzare i membri seguenti della struttura di MIB_IPFORWARD_ROW2 a cui punta il parametro Row:
Impostare DestinationPrefix su un prefisso di indirizzo IPv4 o IPv6 valido.
Impostare NextHop su un indirizzo e una famiglia IPv4 o IPv6 validi.
Impostare InterfaceLuid o InterfaceIndex sul valore di indice o LUID dell'interfaccia.
I membri InterfaceLuid e InterfaceIndex vengono usati nell'ordine elencato in precedenza. Pertanto, se viene specificato il InterfaceLuid, questo membro viene usato per determinare l'interfaccia in cui aggiungere la voce di route IP. 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 metrica della struttura MIB_IPFORWARD_ROW2 a cui punta il parametro riga rappresenta solo parte della metrica di route completa. La metrica completa è una combinazione di questo offset delle metriche di route aggiunto alla metrica dell'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.
I membri Age e Origin della struttura MIB_IPFORWARD_ROW2 a cui punta il parametro Row vengono ignorati quando viene chiamata la funzione CreateIpForwardEntry2. Questi membri vengono impostati dallo stack di rete e non possono essere impostati usando la funzione CreateIpForwardEntry2.
La funzione CreateIpForwardEntry2 ha esito negativo se la DestinationPrefix e i membri NextHop della struttura MIB_IPFORWARD_ROW2 a cui punta il parametro Row sono duplicati di una voce di route IP esistente nell'interfaccia specificata nell'interfaccia InterfaceLuid o InterfaceIndex.
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 |