Funzione CreateIpNetEntry2

La funzione CreateIpNetEntry2 crea una nuova voce di indirizzo IP adiacente nel computer locale.

Sintassi

NETIOAPI_API CreateIpNetEntry2(
  _In_ const MIB_IPNET_ROW2 *Row
);

Parametri

Valore restituito

CreateIpNetEntry2 restituisce STATUS_SUCCESS se la funzione ha esito positivo.

Se la funzione ha esito negativo, CreateIpNetEntry2 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 si verifica uno degli elementi seguenti:

  • Un puntatore NULL viene passato nel parametro Row .

  • Membro address della struttura MIB_IPNET_ROW2 che il parametro Row punta a non è stato impostato su un indirizzo IPv4 o IPv6 valido unicast, anycast o multicast.

  • I membri PhysicalAddress e PhysicalAddressLength della struttura MIB_IPNET_ROW2 non sono stati impostati su un indirizzo fisico valido.

  • I membri InterfaceLuid e InterfaceIndex della struttura MIB_IPNET_ROW2 non sono stati specificati.

  • Un indirizzo di loopback è stato passato nel membro Address .

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_IPNET_ROW2 a cui punta il parametro Row .

STATUS_NOT_SUPPORTED

La richiesta non è supportata. Questo errore viene restituito se non si trova alcun stack IPv4 nel computer locale e un indirizzo IPv4 è stato specificato nel membro Address della struttura MIB_IPNET_ROW2 che il parametro Row punta o se non si trova alcun stack IPv6 nel computer locale e un indirizzo IPv6 è stato specificato nel membro Address .

ERROR_OBJECT_ALREADY_EXISTS

L'oggetto esiste già. Questo errore viene restituito se il membro Address della struttura MIB_IPNET_ROW2 a cui punta il parametro Row è un duplicato di un indirizzo IP adiacente esistente nell'interfaccia specificata dal membro InterfaceLuid o InterfaceIndex della struttura MIB_IPNET_ROW2.

Altri

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

Commenti

Il driver deve inizializzare i membri seguenti della struttura MIB_IPNET_ROW2 a cui punta il parametro Row :

  • Impostare il membro Address su un indirizzo unicost, anycast o multicast IPv4 o IPv6 valido.

  • Impostare i membri PhysicalAddress e PhysicalAddressLength nella struttura MIB_IPNET_ROW2 su un indirizzo fisico valido.

  • Impostare InterfaceLuid o InterfaceIndex sul valore di indice o LUID dell'interfaccia.

I membri InterfaceLuid e InterfaceIndex vengono usati nell'ordine elencato in precedenza. Quindi, se si specifica InterfaceLuid , questo membro viene usato per determinare l'interfaccia in cui aggiungere l'indirizzo IP unicast. 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.

La funzione CreateIpNetEntry2 non riesce se l'indirizzo IP passato nel membro Address della struttura MIB_IPNET_ROW2 a cui punta il parametro Row è un duplicato di un indirizzo IP vicino esistente nell'interfaccia.

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

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2