Funzione CreateAnycastIpAddressEntry (netioapi.h)
La funzione CreateAnycastIpAddressEntry aggiunge una nuova voce di indirizzo IP anycast nel computer locale.
Sintassi
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API CreateAnycastIpAddressEntry(
[in] const MIB_ANYCASTIPADDRESS_ROW *Row
);
Parametri
[in] Row
Puntatore a una voce di struttura MIB_ANYCASTIPADDRESS_ROW per una voce di indirizzo IP anycast.
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene NO_ERROR.
Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.
Codice restituito | Descrizione |
---|---|
|
Accesso negato. Questo errore viene restituito in diverse condizioni che includono quanto segue: l'utente non dispone dei privilegi amministrativi necessari nel computer locale o l'applicazione non è in esecuzione in una shell avanzata come amministratore predefinito (amministratore RunAs). |
|
Alla funzione è stato passato un parametro non valido. Questo errore viene restituito se un puntatore NULL viene passato nel parametro Row , il membro Address del MIB_ANYCASTIPADDRESS_ROW a cui punta il parametro Row non è stato impostato su un indirizzo IPv4 o IPv6 valido oppure entrambi i membri InterfaceLuid o InterfaceIndex del MIB_ANYCASTIPADDRESS_ROW a cui punta il parametro Row non sono stati specificati. |
|
Impossibile trovare l'interfaccia specificata. Questo errore viene restituito se non è stato possibile trovare l'interfaccia di rete specificata dal membro InterfaceLuid o InterfaceIndex del MIB_ANYCASTIPADDRESS_ROW a cui punta il parametro Row . |
|
La richiesta non è supportata. Questo errore viene restituito se non si trova alcun stack IPv4 nel computer locale e nel membro Address del MIB_ANYCASTIPADDRESS_ROW a cui punta il parametro Row è stato specificato un indirizzo IPv4. Questo errore viene restituito anche se non si trova alcun stack IPv6 nel computer locale e nel membro Address è stato specificato un indirizzo IPv6. |
|
L'oggetto esiste già. Questo errore viene restituito se il membro Address del MIB_ANYCASTIPADDRESS_ROW a cui punta il parametro Row è un duplicato di un indirizzo IP anycast esistente nell'interfaccia specificata dal membro InterfaceLuid o InterfaceIndex del MIB_ANYCASTIPADDRESS_ROW. |
|
Usare FormatMessage per ottenere la stringa del messaggio per l'errore restituito. |
Commenti
La funzione CreateAnycastIpAddressEntry viene definita in Windows Vista e versioni successive.
La funzione CreateAnycastIpAddressEntry viene usata per aggiungere una nuova voce di indirizzo IP anycast in un computer locale.
Il membro Address nella struttura MIB_ANYCASTIPADDRESS_ROW a cui punta il parametro Row deve essere inizializzato in un indirizzo e una famiglia IPv6 unicast validi. Inoltre, almeno uno dei membri seguenti nella struttura MIB_ANYCASTIPADDRESS_ROW a cui punta il parametro Row deve essere inizializzato all'interfaccia: InterfaceLuid o InterfaceIndex.
I campi vengono usati nell'ordine indicato 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 (i valori di questo membro sono stati impostati su zero), il membro InterfaceIndex viene usato successivamente per determinare l'interfaccia.
Il membro ScopeId della struttura MIB_ANYCASTIPADDRESS_ROW a cui punta row viene ignorato quando viene chiamata la funzione CreateAnycastIpAddressEntry . Il membro ScopeId viene determinato automaticamente dall'interfaccia in cui viene aggiunto l'indirizzo.
La funzione CreateAnycastIpAddressEntry avrà esito negativo se l'indirizzo IP anycast passato nel membro Address del MIB_ANYCASTIPADDRESS_ROW a cui punta il parametro Row è un duplicato di un indirizzo IP anycast esistente nell'interfaccia.
La funzione CreateAnycastIpAddressEntry può essere chiamata solo da un utente connesso come membro del gruppo Administrators. Se CreateAnycastIpAddressEntry viene chiamato da un utente che non è membro del gruppo Administrators, la chiamata di funzione avrà esito negativo e ERROR_ACCESS_DENIED viene restituito. Questa funzione può anche non riuscire a causa del controllo dell'account utente in Windows Vista e versioni successive. Se un'applicazione che contiene questa funzione viene eseguita da un utente connesso come membro del gruppo Administrators diverso dall'amministratore predefinito, questa chiamata avrà esito negativo a meno che l'applicazione non sia stata contrassegnata nel file manifesto con un set requestedExecutionLevel impostato su requireAdministrator. Se l'applicazione non dispone di questo file manifesto, un utente connesso come membro del gruppo Administrators diverso dall'amministratore predefinito deve quindi eseguire l'applicazione in una shell avanzata come amministratore predefinito (amministratore RunAs) affinché questa funzione abbia esito positivo.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | netioapi.h (include Iphlpapi.h) |
Libreria | Iphlpapi.lib |
DLL | Iphlpapi.dll |