CreateAnycastIpAddressEntry-Funktion (netioapi.h)
Die CreateAnycastIpAddressEntry-Funktion fügt einen neuen Anycast-IP-Adresseintrag auf dem lokalen Computer hinzu.
Syntax
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API CreateAnycastIpAddressEntry(
[in] const MIB_ANYCASTIPADDRESS_ROW *Row
);
Parameter
[in] Row
Ein Zeiger auf einen MIB_ANYCASTIPADDRESS_ROW Struktureintrag für einen Anycast-IP-Adresseintrag.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.
Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.
Rückgabecode | Beschreibung |
---|---|
|
Zugriff verweigert.“ Dieser Fehler wird unter folgenden Bedingungen zurückgegeben: Dem Benutzer fehlen die erforderlichen Administratorrechte auf dem lokalen Computer, oder die Anwendung wird nicht in einer erweiterten Shell als integrierter Administrator (RunAs-Administrator) ausgeführt. |
|
Es wurde ein ungültiger Parameter an die Funktion übergeben. Dieser Fehler wird zurückgegeben, wenn ein NULL-Zeiger im Row-Parameter übergeben wird, wenn das Address-Element des MIB_ANYCASTIPADDRESS_ROW vom Row-Parameter auf eine gültige Unicast-IPv4- oder IPv6-Adresse festgelegt wurde, oder die Elemente InterfaceLuid oder InterfaceIndex des MIB_ANYCASTIPADDRESS_ROW , auf das vom Row-Parameter verwiesen wird, nicht angegeben wurden. |
|
Die angegebene Schnittstelle konnte nicht gefunden werden. Dieser Fehler wird zurückgegeben, wenn die netzwerkschnittstelle, die vom InterfaceLuid - oder InterfaceIndex-Member der MIB_ANYCASTIPADDRESS_ROW angegeben wurde, auf die der Row-Parameter verweist, nicht gefunden werden konnte. |
|
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 Adresselement des MIB_ANYCASTIPADDRESS_ROW durch den Row-Parameter angegeben wurde. Dieser Fehler wird auch zurückgegeben, wenn sich auf dem lokalen Computer kein IPv6-Stapel befindet und im Adresselement eine IPv6-Adresse angegeben wurde. |
|
Das Objekt ist bereits vorhanden. Dieser Fehler wird zurückgegeben, wenn das Adresselement des MIB_ANYCASTIPADDRESS_ROW , auf das vom Row-Parameter verwiesen wird, ein Duplikat einer vorhandenen Anycast-IP-Adresse auf der Schnittstelle ist, die vom InterfaceLuid - oder InterfaceIndex-Member des MIB_ANYCASTIPADDRESS_ROW angegeben wird. |
|
Verwenden Sie FormatMessage , um die Nachrichtenzeichenfolge für den zurückgegebenen Fehler abzurufen. |
Hinweise
Die CreateAnycastIpAddressEntry-Funktion wird unter Windows Vista und höher definiert.
Die CreateAnycastIpAddressEntry-Funktion wird verwendet, um einen neuen Anycast-IP-Adresseintrag auf einem lokalen Computer hinzuzufügen.
Das Adresselement in der MIB_ANYCASTIPADDRESS_ROW Struktur, auf die der Row-Parameter verweist, muss für eine gültige Unicast-IPv4- oder IPv6-Adresse und -Familie initialisiert werden. Darüber hinaus muss mindestens eines der folgenden Elemente in der MIB_ANYCASTIPADDRESS_ROW-Struktur , die auf den Row-Parameter verweist, für die Schnittstelle initialisiert werden: InterfaceLuid oder InterfaceIndex.
Die Felder werden in der oben aufgeführten Reihenfolge verwendet. Wenn also InterfaceLuid angegeben wird, wird dieser Member verwendet, um die Schnittstelle zu bestimmen, der die Unicast-IP-Adresse hinzugefügt werden soll. Wenn kein Wert für das InterfaceLuid-Element festgelegt wurde (die Werte dieses Members wurden auf Null festgelegt), wird das InterfaceIndex-Element als nächstes verwendet, um die Schnittstelle zu bestimmen.
Das ScopeId-Element der MIB_ANYCASTIPADDRESS_ROW Struktur, auf die die Zeile verweist, wird ignoriert, wenn die CreateAnycastIpAddressEntry-Funktion aufgerufen wird. Das ScopeId-Element wird automatisch von der Schnittstelle bestimmt, der die Adresse hinzugefügt wird.
Die CreateAnycastIpAddressEntry-Funktion schlägt fehl, wenn die anycast-IP-Adresse, die im Adresselement des MIB_ANYCASTIPADDRESS_ROW übergeben wird, auf die der Row-Parameter verweist, ein Duplikat einer vorhandenen anycast-IP-Adresse auf der Schnittstelle ist.
Die CreateAnycastIpAddressEntry-Funktion kann nur von einem Benutzer aufgerufen werden, der als Mitglied der Gruppe Administratoren angemeldet ist. Wenn CreateAnycastIpAddressEntry von einem Benutzer aufgerufen wird, der kein Mitglied der Gruppe Administratoren ist, schlägt der Funktionsaufruf fehl, und ERROR_ACCESS_DENIED wird zurückgegeben. Diese Funktion kann auch aufgrund der Benutzerkontensteuerung (User Account Control, UAC) unter Windows Vista und höher fehlschlagen. Wenn eine Anwendung, die diese Funktion enthält, von einem Benutzer ausgeführt wird, der nicht als mitglied der Gruppe Administratoren als der integrierte Administrator angemeldet ist, schlägt dieser Aufruf fehl, es sei denn, die Anwendung wurde in der Manifestdatei mit einem requestedExecutionLevel-Wert gekennzeichnet, der auf requireAdministrator festgelegt ist. Wenn der Anwendung diese Manifestdatei fehlt, muss ein Benutzer, der sich als anderes Mitglied der Administratorgruppe als der integrierte Administrator angemeldet hat, die Anwendung dann in einer erweiterten Shell als integrierter Administrator (RunAs-Administrator) ausführen, damit diese Funktion erfolgreich ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | netioapi.h (include Iphlpapi.h) |
Bibliothek | Iphlpapi.lib |
DLL | Iphlpapi.dll |