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


Функция SnmpSetPduData (winsnmp.h)

[SNMP доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте удаленное управление Windows, которое является реализацией WS-Man майкрософт.]

Функция SnmpSetPduData WinSNMP обновляет выбранные поля данных в указанной единице данных протокола SNMP (PDU).

Синтаксис

SNMPAPI_STATUS SNMPAPI_CALL SnmpSetPduData(
  [in] HSNMP_PDU       PDU,
  [in] const smiINT    *PDU_type,
  [in] const smiINT32  *request_id,
  [in] const smiINT    *non_repeaters,
  [in] const smiINT    *max_repetitions,
  [in] const HSNMP_VBL *varbindlist
);

Параметры

[in] PDU

Дескриптор SNMP PDU.

[in] PDU_type

Указатель на переменную со значением для обновления поля PDU_type указанного PDU. Этот параметр также может иметь значение NULL.

[in] request_id

Указатель на переменную со значением для обновления поля request_id указанного PDU. Этот параметр также может иметь значение NULL.

[in] non_repeaters

Если параметр PDU_type равен SNMP_PDU_GETBULK, этот параметр указывает на переменную со значением для обновления поля non_repeaters указанного PDU. Реализация Microsoft WinSNMP игнорирует этот параметр для других типов PDU. Этот параметр также может иметь значение NULL.

[in] max_repetitions

Если параметр PDU_type равен SNMP_PDU_GETBULK, этот параметр указывает на переменную со значением для обновления поля max_repetitions указанного PDU. Реализация игнорирует этот параметр для других типов PDU. Этот параметр также может иметь значение NULL.

[in] varbindlist

Указатель на переменную со значением, которое обновляет дескриптор в поле списка привязок переменных указанного PDU. Этот параметр также может иметь значение NULL.

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

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

Если функция завершается сбоем, возвращаемое значение будет SNMPAPI_FAILURE. Чтобы получить расширенные сведения об ошибке, вызовите SnmpGetLastError. Функция SnmpGetLastError может возвращать одну из следующих ошибок.

Код возврата Описание
SNMPAPI_NOT_INITIALIZED
Функция SnmpStartup не была успешно завершена.
SNMPAPI_ALLOC_ERROR
Произошла ошибка при выделении памяти.
SNMPAPI_PDU_INVALID
Недопустимый тип PDU.
SNMPAPI_VBL_INVALID
Недопустимый список привязок переменных.
SNMPAPI_NOOP
Все входные параметры имеют значение NULL. Операция SNMP не была выполнена.
SNMPAPI_OTHER_ERROR
Произошла неизвестная или неопределенная ошибка.

Комментарии

Все параметры функции SnmpSetPduData являются обязательными. Однако все параметры, кроме параметра PDU , могут иметь значение NULL. Если приложение WinSNMP передает значение NULL в параметре, SnmpSetPduData не обновляет соответствующее поле в PDU. Так как SnmpSetPduData передает параметры в качестве указателей на значения, приложение по-прежнему может обновить поле PDU со значением NULL.

Значение одного поля PDU может быть только допустимым, но может быть признано недействительным в сочетании со значениями для других полей. Реализация проверяет PDU и другие элементы сообщения, когда приложение вызывает функции SnmpSendMsg или SnmpEncodeMsg . Реализация отклоняет недопустимые PKU.

Единственным типом PDU-ловушки, который можно обновить с помощью вызова функции SnmpSetPduData , является PDU-ловушка SNMPv2C.

Требования

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

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

SnmpEncodeMsg

SnmpSendMsg

Функции WinSNMP

Общие сведения об API WinSNMP