Condividi tramite


Funzione SetUnicastIpAddressEntry

La funzione SetUnicastIpAddressEntry imposta le proprietà di una voce di indirizzo IP unicast esistente in un computer locale.

Sintassi

NETIOAPI_API SetUnicastIpAddressEntry(
  _In_ const MIB_UNICASTIPADDRESS_ROW *Row
);

Parametri

Valore restituito

SetUnicastIpAddressEntry restituisce STATUS_SUCCESS se la funzione ha esito positivo.

Se la funzione ha esito negativo, SetUnicastIpAddressEntry 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 Address della struttura MIB_UNICASTIPADDRESS_ROW che il parametro Row punta a non è stato impostato su un indirizzo IPv4 o IPv6 valido o i membri InterfaceLuid e InterfaceIndex della struttura MIB_UNICASTIPADDRESS_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_UNICASTIPADDRESS_ROW 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 Indirizzo della struttura MIB_UNICASTIPADDRESS_ROW a cui punta il parametro Row o se non si trova alcun stack IPv6 nel computer locale e un indirizzo IPv6 è stato specificato nel membro Address .

Altri

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

Commenti

La funzione GetUnicastIpAddressEntry viene in genere usata per recuperare una voce di struttura MIB_UNICASTIPADDRESS_ROW esistente da modificare. Un driver può quindi modificare i membri nella voce MIB_UNICASTIPADDRESS_ROW che vuole modificare e quindi chiamare la funzione SetUnicastIpAddressEntry .

Un driver può chiamare la funzione InitializeUnicastIpAddressEntry per inizializzare i membri di una voce di struttura MIB_UNICASTIPADDRESS_ROW con valori predefiniti prima di apportare modifiche. Tuttavia, il driver salva in genere il membro InterfaceLuid o InterfaceIndex prima di chiamare InitializeUnicastIpAddressEntry e ripristina uno di questi membri dopo la chiamata.

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

  • Indirizzo
    Impostare su un indirizzo EPv4 o un indirizzo IPv6 valido.

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

Se il membro OnLinkPrefixLength della struttura MIB_UNICASTIPADDRESS_ROW a cui punta il parametro Row è impostato su 255, SetUnicastIpAddressEntry imposta le proprietà dell'indirizzo IP unicast in modo che il membro OnLinkPrefixLength sia uguale alla lunghezza dell'indirizzo IP. Per un indirizzo IPv4 unicast, OnLinkPrefixLength è impostato su 32. Per un indirizzo IPv6 unicast, OnLinkPrefixLength è impostato su 128. Se queste impostazioni comportano la subnet mask errata per un indirizzo IPv4 o il prefisso di collegamento non corretto per un indirizzo IPv6, il driver deve impostare questo membro sul valore corretto prima di chiamare SetUnicastIpAddressEntry.

SetUnicastIpAddressEntry ignora i membri DadState, ScopeId e CreationTimeStamp della struttura MIB_UNICASTIPADDRESS_ROW a cui punta il parametro Row . Questi membri vengono impostati dallo stack di rete e non possono essere modificati usando la funzione SetUnicastIpAddressEntry . Il membro ScopeId viene determinato automaticamente dall'interfaccia in cui è stato aggiunto l'indirizzo.

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

CreateUnicastIpAddressEntry

DeleteUnicastIpAddressEntry

GetUnicastIpAddressEntry

GetUnicastIpAddressTable

InitializeUnicastIpAddressEntry

MIB_UNICASTIPADDRESS_ROW

MIB_UNICASTIPADDRESS_TABLE

NotifyUnicastIpAddressChange