Функция CreateProxyArpEntry (iphlpapi.h)

Функция CreateProxyArpEnry создает запись протокола PARP прокси-сервера на локальном компьютере для указанного IPv4-адреса.

Синтаксис

IPHLPAPI_DLL_LINKAGE DWORD CreateProxyArpEntry(
  [in] DWORD dwAddress,
  [in] DWORD dwMask,
  [in] DWORD dwIfIndex
);

Параметры

[in] dwAddress

IPv4-адрес, для которого этот компьютер выступает в качестве прокси-сервера.

[in] dwMask

Маска подсети для IPv4-адреса, указанного в dwAddress.

[in] dwIfIndex

Индекс интерфейса, для которого выполняется прокси-сервер ARP для IPv4-адреса, определяемого dwAddress. Другими словами, при получении запроса ARP для dwAddress в этом интерфейсе локальный компьютер отвечает физическим адресом этого интерфейса. Если этот интерфейс имеет тип, который не поддерживает ARP, например PPP, вызов завершается ошибкой.

Возвращаемое значение

Функция возвращает NO_ERROR (ноль), если функция выполнена успешно.

Если функция завершается сбоем, возвращается один из следующих кодов ошибок.

Код возврата Описание
ERROR_ACCESS_DENIED
Отказано в доступе". Эта ошибка возвращается в Windows Vista и Windows Server 2008 при нескольких условиях, которые включают следующее: у пользователя отсутствуют необходимые права администратора на локальном компьютере или приложение не работает в расширенной оболочке в качестве встроенного администратора (администратора запуска от имени администратора).
ERROR_INVALID_PARAMETER
Входной параметр недопустим, никаких действий не было выполнено. Эта ошибка возвращается, если параметр dwAddress равен нулю или недопустимому значению, то один из других параметров является недопустимым.
ERROR_NOT_SUPPORTED
Транспорт IPv4 не настроен на локальном компьютере.
Другое
Используйте FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки.

Комментарии

Чтобы получить таблицу ARP, вызовите функцию GetIpNetTable . Чтобы удалить существующую запись PARP, вызовите DeleteProxyArpEntry.

В Windows Vista и более поздних версиях функцию CreateProxyArpEnry может вызывать только пользователь, вошедший в систему как член группы "Администраторы". Если метод CreateProxyArpEnry вызывается пользователем, не включаемым в группу Администраторы, вызов функции завершится ошибкой и ERROR_ACCESS_DENIED возвращается. Эта функция также может завершиться сбоем из-за контроля учетных записей (UAC) в Windows Vista и более поздних версиях. Если приложение, содержащее эту функцию, выполняется пользователем, вошедшего в систему как член группы администраторов, отличный от встроенного администратора, этот вызов завершится ошибкой, если приложение не было отмечено в файле манифеста с параметром requestedExecutionLevel , для которого задано значение requireAdministrator. Если в приложении в Windows Vista и более поздних версиях отсутствует этот файл манифеста, пользователь, вошедший в группу администраторов, отличный от встроенного администратора, должен выполнить приложение в расширенной оболочке в качестве встроенного администратора (администратора запуска от имени администратора), чтобы эта функция была успешной.

Примечание Эта функция выполняет привилегированную операцию. Для успешного выполнения этой функции вызывающий объект должен войти в систему как член группы Администраторы или NetworkConfigurationOperators.
 

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header iphlpapi.h
Библиотека Iphlpapi.lib
DLL Iphlpapi.dll

См. также раздел

DeleteProxyArpEntry

GetIpNetTable

Справочник по вспомогательной функции IP

Начальная страница вспомогательного ip-адреса

MIB_PROXYARP