Freigeben über


SetUnicastIpAddressEntry-Funktion

Die SetUnicastIpAddressEntry-funktion legt die Eigenschaften eines vorhandenen Unicast-IP-Adresseintrags auf einem lokalen Computer fest.

Syntax

NETIOAPI_API SetUnicastIpAddressEntry(
  _In_ const MIB_UNICASTIPADDRESS_ROW *Row
);

Parameter

  • Zeile [in]
    Ein Zeiger auf einen MIB_UNICASTIPADDRESS_ROW Struktureintrag für einen vorhandenen Unicast-IP-Adresseintrag.

Rückgabewert

SetUnicastIpAddressEntry gibt STATUS_SUCCESS zurück, wenn die Funktion erfolgreich ist.

Wenn die Funktion fehlschlägt, gibt SetUnicastIpAddressEntry einen der folgenden Fehlercodes zurück:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER

An die Funktion wurde ein ungültiger Parameter übergeben. Dieser Fehler wird zurückgegeben, wenn ein NULL- Zeiger im parameter Row übergeben wird. das Address Member der MIB_UNICASTIPADDRESS_ROW Struktur, auf die der Row Parameter verweist, nicht auf eine gültige Unicast-IPv4- oder IPv6-Adresse festgelegt wurde, oder sowohl InterfaceLuid als auch InterfaceIndex Member der MIB_UNICASTIPADDRESS_ROW Struktur wurden nicht angegeben.

STATUS_NOT_FOUND

Die angegebene Schnittstelle konnte nicht gefunden werden. Dieser Fehler wird zurückgegeben, wenn die Funktion die Netzwerkschnittstelle nicht finden kann, die durch das InterfaceLuid- oder InterfaceIndex-Element der MIB_UNICASTIPADDRESS_ROW Struktur angegeben wird, auf die der Row Parameter verweist.

STATUS_NOT_SUPPORTED

Die Anforderung wird nicht unterstützt. Dieser Fehler wird zurückgegeben, wenn sich kein IPv4-Stapel auf dem lokalen Computer befindet und eine IPv4-Adresse im Address Member der MIB_UNICASTIPADDRESS_ROW-Struktur angegeben wurde, auf die der parameter Zeile verweist, oder wenn sich kein IPv6-Stapel auf dem lokalen Computer befindet und eine IPv6-Adresse im Address Member angegeben wurde.

Andere

Verwenden Sie die FormatMessage--Funktion, um die Nachrichtenzeichenfolge für den zurückgegebenen Fehler abzurufen.

Bemerkungen

Die GetUnicastIpAddressEntry--Funktion wird in der Regel verwendet, um einen vorhandenen MIB_UNICASTIPADDRESS_ROW Struktureintrag abzurufen, der geändert werden soll. Ein Treiber kann dann die Elemente im MIB_UNICASTIPADDRESS_ROW Eintrag ändern, den er ändern möchte, und dann die SetUnicastIpAddressEntry-Funktion aufrufen.

Ein Treiber kann die InitializeUnicastIpAddressEntry--Funktion aufrufen, um die Elemente eines MIB_UNICASTIPADDRESS_ROW Struktureintrags mit Standardwerten zu initialisieren, bevor Änderungen vorgenommen werden. Der Treiber speichert jedoch in der Regel entweder die InterfaceLuid oder InterfaceIndex Member vor dem Aufrufen InitializeUnicastIpAddressEntry und stellt einen dieser Member nach dem Aufruf wieder her.

Der Treiber muss die folgenden Elemente der MIB_UNICASTIPADDRESS_ROW Struktur initialisieren, auf die der Row-Parameter verweist.

  • Adresse
    Festlegen auf eine gültige Unicast-IPv4- oder IPv6-Adresse und -Familie.

  • InterfaceLuid oder InterfaceIndex-
    Diese Member werden in der Reihenfolge verwendet, die zuvor aufgeführt ist. Wenn also InterfaceLuid- angegeben wird, wird dieses Element verwendet, um die Schnittstelle zu bestimmen. Wenn kein Wert für das InterfaceLuid Member festgelegt wurde (der Wert dieses Elements wurde auf Null festgelegt), wird das InterfaceIndex Member als Nächstes verwendet, um die Schnittstelle zu bestimmen.

Wenn das OnLinkPrefixLength Member der MIB_UNICASTIPADDRESS_ROW Struktur, auf die der Row Parameter verweist, auf 255 festgelegt ist, legt SetUnicastIpAddressEntry die Unicast-IP-Adresseigenschaften so fest, dass der OnLinkPrefixLength Member der Länge der IP-Adresse entspricht. Bei einer Unicast-IPv4-Adresse ist OnLinkPrefixLength- auf 32 festgelegt. Für eine Unicast-IPv6-Adresse ist OnLinkPrefixLength- auf 128 festgelegt. Wenn diese Einstellungen zu einer falschen Subnetzmaske für eine IPv4-Adresse oder das falsche Verknüpfungspräfix für eine IPv6-Adresse führen, sollte der Treiber dieses Element auf den richtigen Wert festlegen, bevor SetUnicastIpAddressEntryaufgerufen wird.

SetUnicastIpAddressEntry ignoriert die DadState, ScopeIdund CreationTimeStamp Member der MIB_UNICASTIPADDRESS_ROW Struktur, auf die der Row Parameter verweist. Diese Member werden vom Netzwerkstapel festgelegt und können nicht mithilfe der SetUnicastIpAddressEntry--Funktion geändert werden. Der ScopeId Member wird automatisch von der Schnittstelle bestimmt, auf der die Adresse hinzugefügt wurde.

Anforderungen

Zielplattform

universelle

Version

Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.

Kopfball

Netioapi.h (include Netioapi.h)

Bibliothek

Netio.lib

IRQL

< DISPATCH_LEVEL

Siehe auch

CreateUnicastIpAddressEntry-

DeleteUnicastIpAddressEntry-

GetUnicastIpAddressEntry

GetUnicastIpAddressTable-

InitializeUnicastIpAddressEntry-

MIB_UNICASTIPADDRESS_ROW

MIB_UNICASTIPADDRESS_TABLE

NotifyUnicastIpAddressChange