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
- Riga [in]
Puntatore a una voce di struttura MIB_UNICASTIPADDRESS_ROW per una voce di indirizzo IP unicast esistente.
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 |