Поделиться через


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

Функция SetIpStatistics переключает или отключает IP-пересылку и задает значение времени жизни по умолчанию для локального компьютера.

Синтаксис

IPHLPAPI_DLL_LINKAGE DWORD SetIpStatistics(
  [in] PMIB_IPSTATS pIpStats
);

Параметры

[in] pIpStats

Указатель на структуру MIB_IPSTATS . Вызывающий объект должен задать для членов dwForwarding и dwDefaultTTL этой структуры новые значения. Чтобы сохранить текущее значение одного из элементов, используйте MIB_USE_CURRENT_TTL или MIB_USE_CURRENT_FORWARDING.

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

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

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

Код возврата Описание
ERROR_ACCESS_DENIED
Отказано в доступе". Эта ошибка возвращается в Windows Vista и Windows Server 2008 при нескольких условиях, которые включают следующее: у пользователя отсутствуют необходимые права администратора на локальном компьютере или приложение не работает в расширенной оболочке в качестве встроенного администратора (администратора запуска от имени администратора).
ERROR_INVALID_PARAMETER
В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметре pIpStats передается указатель NULL. Эта ошибка также возвращается, если элемент dwForwarding в структуре MIB_IPSTATS , на который указывает параметр pIpStats , содержит значение, отличное от MIB_IP_NOT_FORWARDING, MIB_IP_FORWARDING или MIB_USE_CURRENT_FORWARDING.
Другое
Используйте FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки.

Комментарии

Чтобы задать только срок жизни по умолчанию, вызывающий объект также может использовать функцию SetIpTTL .

В Windows Vista и более поздних версиях функцию SetIpStatistics может вызывать только пользователь, выполнивший вход в качестве члена группы "Администраторы". Если метод SetIpStatistics вызывается пользователем, не включаемым в группу Администраторы, вызов функции завершится ошибкой и возвращается ERROR_ACCESS_DENIED .

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

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

Требования

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

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

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

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

MIB_IPSTATS

SetIpStatisticsEx

SetIpTTL