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


Функция SnmpMgrRequest (mgmtapi.h)

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

Функция SnmpMgrRequest запрашивает выполнение указанной операции с указанным агентом. Эта функция является элементом API управления SNMP.

Синтаксис

SNMPAPI SNMP_FUNC_TYPE SnmpMgrRequest(
  [in]      LPSNMP_MGR_SESSION session,
  [in]      BYTE               requestType,
  [in, out] RFC1157VarBindList *variableBindings,
  [out]     AsnInteger         *errorStatus,
  [out]     AsnInteger         *errorIndex
);

Параметры

[in] session

Указатель на внутреннюю структуру, указывающую сеанс, который будет выполнять запрос.

Приложения не должны указывать указатель LPSNMP_MGR_SESSION , возвращаемый этой функцией в другом потоке. Можно указать указатель, возвращаемый SnmpMgrOpen, но только в том случае, если вызовы SnmpMgrOpen и SnmpMgrRequest происходят в контексте одного потока.

[in] requestType

Указывает тип запроса SNMP. Этот параметр может быть одним из следующих значений, определенных SNMPv1.

Значение Значение
SNMP_PDU_GET
Получение значения или значений указанных переменных.
SNMP_PDU_GETNEXT
Получение значения или значения лексикографического преемника указанной переменной.
SNMP_PDU_SET
Запись значения в определенной переменной.
 

Обратите внимание, что типы запросов PDU были переименованы. Дополнительные сведения см. в разделах Типы переменных SNMP и Запрос типов PDU.

[in, out] variableBindings

Указатель на список привязок переменных.

Примечание Массив SnmpVarBind, на который указывает структура SnmpVarBindList , должен быть выделен с помощью функции SnmpUtilMemAlloc .
 

[out] errorStatus

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

Значение Значение
SNMP_ERRORSTATUS_NOERROR
Агент сообщает, что во время передачи ошибок не произошло.
SNMP_ERRORSTATUS_TOOBIG
Агенту не удалось поместить результаты запрошенной операции в одно snmp-сообщение.
SNMP_ERRORSTATUS_NOSUCHNAME
Запрошенная операция идентифицировала неизвестную переменную.
SNMP_ERRORSTATUS_BADVALUE
Запрошенная операция попыталась изменить переменную, но она указала ошибку синтаксиса или значения.
SNMP_ERRORSTATUS_READONLY
Запрошенная операция попыталась изменить переменную, которая не может изменяться в соответствии с профилем сообщества переменной.
SNMP_ERRORSTATUS_GENERR
Во время запрошенной операции произошла ошибка, отличной от одной из перечисленных здесь.

[out] errorIndex

Указатель на переменную, в которой будет возвращен результат индекса ошибки.

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

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

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

Код возврата Описание
SNMP_MGMTAPI_TIMEOUT
Время ожидания запроса истекло.
SNMP_MGMTAPI_SELECT_FDERRORS
Непредвиденная ошибка дескрипторы файлов, указанные функцией выбора сокетов Windows.

Комментарии

Повторные попытки и время ожидания предоставляются функции SnmpMgrOpen . Каждая переменная в списке привязок переменных должна быть инициализирована для ввода ASN_NULL для запросов Get и Get Next.

Требования

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

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

Функции SNMP

Обзор протокола SNMP

SnmpMgrClose

SnmpMgrOpen