Dela via


SetUnicastIpAddressEntry-funktion

Funktionen SetUnicastIpAddressEntry anger egenskaperna för en befintlig unicast-IP-adresspost på en lokal dator.

Syntax

NETIOAPI_API SetUnicastIpAddressEntry(
  _In_ const MIB_UNICASTIPADDRESS_ROW *Row
);

Parametrar

Returvärde

SetUnicastIpAddressEntry returnerar STATUS_SUCCESS om funktionen lyckas.

Om funktionen misslyckas returnerar SetUnicastIpAddressEntry någon av följande felkoder:

Returnera kod Beskrivning
STATUS_INVALID_PARAMETER

En ogiltig parameter skickades till funktionen. Det här felet returneras om en NULL- pekare skickas i parametern Rad. Adress medlem i den MIB_UNICASTIPADDRESS_ROW struktur som Rad parametern pekar på inte har angetts till en giltig unicast IPv4- eller IPv6-adress, eller både InterfaceLuid och InterfaceIndex medlemmar i MIB_UNICASTIPADDRESS_ROW-strukturen var ospecificerade.

STATUS_NOT_FOUND

Det gick inte att hitta det angivna gränssnittet. Det här felet returneras om funktionen inte kan hitta nätverksgränssnittet som anges av InterfaceLuid eller InterfaceIndex medlem i den MIB_UNICASTIPADDRESS_ROW struktur som rad parameter pekar på.

STATUS_NOT_SUPPORTED

Begäran stöds inte. Det här felet returneras om ingen IPv4-stack finns på den lokala datorn och en IPv4-adress angavs i adress medlem i den MIB_UNICASTIPADDRESS_ROW struktur som Rad parameter pekar på, eller om ingen IPv6-stack finns på den lokala datorn och en IPv6-adress angavs i adress medlem.

Andra

Använd funktionen FormatMessage för att hämta meddelandesträngen för det returnerade felet.

Anmärkningar

Funktionen GetUnicastIpAddressEntry används vanligtvis för att hämta en befintlig MIB_UNICASTIPADDRESS_ROW strukturpost som ska ändras. En drivrutin kan sedan ändra medlemmarna i posten MIB_UNICASTIPADDRESS_ROW som den vill ändra och sedan anropa funktionen SetUnicastIpAddressEntry.

En drivrutin kan anropa funktionen InitializeUnicastIpAddressEntry för att initiera medlemmar i en MIB_UNICASTIPADDRESS_ROW strukturpost med standardvärden innan du gör ändringar. Drivrutinen sparar dock vanligtvis antingen InterfaceLuid eller InterfaceIndex medlem innan InitializeUnicastIpAddressEntry och återställer en av dessa medlemmar efter anropet.

Drivrutinen måste initiera följande medlemmar i den MIB_UNICASTIPADDRESS_ROW struktur som rad parametern pekar på.

  • adress
    Ange till en giltig unicast IPv4- eller IPv6-adress och -familj.

  • InterfaceLuid eller InterfaceIndex
    Dessa medlemmar används i den ordning som anges tidigare. Så om InterfaceLuid anges används den här medlemmen för att fastställa gränssnittet. Om inget värde har angetts för InterfaceLuid medlem (värdet för den här medlemmen har angetts till noll) används InterfaceIndex medlem för att fastställa gränssnittet.

Om OnLinkPrefixLength medlem i den MIB_UNICASTIPADDRESS_ROW struktur som Rad parametern pekar på är inställd på 255, SetUnicastIpAddressEntry anger unicast IP-adressegenskaperna så att OnLinkPrefixLength medlem är lika med längden på IP-adressen. För en unicast IPv4-adress är OnLinkPrefixLength inställd på 32. För en unicast IPv6-adress är OnLinkPrefixLength inställd på 128. Om de här inställningarna skulle resultera i en felaktig nätmask för en IPv4-adress eller det felaktiga länkprefixet för en IPv6-adress bör drivrutinen ange rätt värde för medlemmen innan SetUnicastIpAddressEntry.

SetUnicastIpAddressEntry ignorerar DadState, ScopeIdoch CreationTimeStamp medlemmar i den MIB_UNICASTIPADDRESS_ROW struktur som parametern Row pekar på. Dessa medlemmar anges av nätverksstacken och kan inte ändras med hjälp av funktionen SetUnicastIpAddressEntry. Medlemmen ScopeId bestäms automatiskt av gränssnittet som adressen lades till på.

Krav

Målplattform

Universell

Version

Finns i Windows Vista och senare versioner av Windows-operativsystemen.

Rubrik

Netioapi.h (inkludera Netioapi.h)

Bibliotek

Netio.lib

IRQL

< DISPATCH_LEVEL

Se även

CreateUnicastIpAddressEntry

DeleteUnicastIpAddressEntry

GetUnicastIpAddressEntry

GetUnicastIpAddressTable

InitializeUnicastIpAddressEntry

MIB_UNICASTIPADDRESS_ROW

MIB_UNICASTIPADDRESS_TABLE

NotifyUnicastIpAddressChange