Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция CreateIpNetEntry2 создает новую запись соседнего IP-адреса на локальном компьютере.
Синтаксис
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API CreateIpNetEntry2(
[in] const MIB_IPNET_ROW2 *Row
);
Параметры
[in] Row
Указатель на запись структуры MIB_IPNET_ROW2 для записи соседнего IP-адреса.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, возвращаемое значение представляет собой один из следующих кодов ошибок.
| Код возврата | Описание |
|---|---|
|
Отказано в доступе". Эта ошибка возвращается при нескольких условиях, которые включают следующее: у пользователя отсутствуют необходимые права администратора на локальном компьютере или приложение не выполняется в расширенной оболочке в качестве встроенного администратора (администратора запуска от имени). |
|
В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметре Row передан указатель NULL, члену AddressMIB_IPNET_ROW2, на который указывает параметр Row, не задан допустимый одноадресный, любой рассылки или многоадресный адрес IPv4 или IPv6, а для элементов PhysicalAddress и PhysicalAddressLengthMIB_IPNET_ROW2, на которые указывает параметр Row, не задан допустимый физический адрес. либо элементы InterfaceLuid или InterfaceIndexMIB_IPNET_ROW2, на которые указывает параметр Row, не указаны. Эта ошибка также возвращается, если в элементе Address был передан адрес замыкания на себя. |
|
Не удалось найти указанный интерфейс. Эта ошибка возвращается, если не удалось найти сетевой интерфейс, заданный элементом InterfaceLuid или InterfaceIndexMIB_IPNET_ROW2 , на который указывает параметр Row . |
|
Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере нет стека IPv4, а адрес IPv4 был указан в элементе AddressMIB_IPNET_ROW2 , на который указывает параметр Row . Эта ошибка также возвращается, если на локальном компьютере нет стека IPv6 и в элементе Address был указан IPv6-адрес. |
|
Объект уже существует. Эта ошибка возвращается, если элемент AddressMIB_IPNET_ROW2 , на который указывает параметр Row , является дубликатом существующего соседнего IP-адреса в интерфейсе, указанном элементом InterfaceLuid или InterfaceIndexMIB_IPNET_ROW2. |
|
Используйте FormatMessage , чтобы получить строку сообщения для возвращенной ошибки. |
Комментарии
Функция CreateIpNetEntry2 определена в Windows Vista и более поздних версиях.
Функция CreateIpNetEntry2 используется для добавления новой записи соседнего IP-адреса на локальном компьютере.
Элемент Address в структуре MIB_IPNET_ROW2 , на который указывает параметр Row , должен быть инициализирован допустимым адресом одноадресной, любой рассылки или многоадресной рассылкой IPv4 или IPv6-адресом и семейством. Элементы PhysicalAddress и PhysicalAddressLength в структуре MIB_IPNET_ROW2 , на которую указывает параметр Row , должны быть инициализированы допустимым физическим адресом. Кроме того, по крайней мере один из следующих элементов в структуре MIB_IPNET_ROW2 , указываемой на параметр Row , должен быть инициализирован в интерфейсе: InterfaceLuid или InterfaceIndex.
Поля используются в указанном выше порядке. Поэтому если указан InterfaceLuid , то этот элемент используется для определения интерфейса, к которому добавляется одноадресный IP-адрес. Если для элемента InterfaceLuid не задано значение (значения этого элемента были равны нулю), то для определения интерфейса используется элемент InterfaceIndex .
Функция CreateIpNetEntry2 завершится ошибкой, если IP-адрес, переданный в элементе AddressMIB_IPNET_ROW2 , на который указывает параметр Row , является дубликатом существующего IP-адреса соседа в интерфейсе.
Функция CreateIpNetEntry2 может вызываться только пользователем, вошедшего в систему как член группы Администраторы. Если метод CreateIpNetEntry2 вызывается пользователем, не включаемым в группу Администраторы, вызов функции завершится ошибкой и ERROR_ACCESS_DENIED возвращается. Эта функция также может завершиться ошибкой из-за контроля учетных записей (UAC) в Windows Vista и более поздних версиях. Если приложение, содержащее эту функцию, выполняется пользователем, вошедшего в систему как участник группы администраторов, отличный от встроенного администратора, этот вызов завершится ошибкой, если приложение не было отмечено в файле манифеста параметром requestedExecutionLevel , для которого задано значение requireAdministrator. Если в приложении отсутствует этот файл манифеста, пользователь, вошедший в группу администраторов, отличный от встроенного администратора, должен выполнять приложение в расширенной оболочке в качестве встроенного администратора (администратора запуска от имени) для успешного выполнения этой функции.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows Vista [только классические приложения] |
| Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
| Целевая платформа | Windows |
| Header | netioapi.h (включая Iphlpapi.h) |
| Библиотека | Iphlpapi.lib |
| DLL | Iphlpapi.dll |