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


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

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

Функция SnmpMgrGetTrap возвращает необработанные данные ловушки, которые вызывающий объект не получил, если включен прием ловушки. Эта функция является элементом API управления SNMP.

Помимо сведений, возвращаемых этой функцией, функция SnmpMgrGetTrapEx возвращает адрес источника транспорта и строку сообщества ловушки.

Синтаксис

BOOL SNMP_FUNC_TYPE SnmpMgrGetTrap(
  [out] AsnObjectIdentifier *enterprise,
  [out] AsnNetworkAddress   *IPAddress,
  [out] AsnInteger          *genericTrap,
  [out] AsnInteger          *specificTrap,
  [out] AsnTimeticks        *timeStamp,
  [out] RFC1157VarBindList  *variableBindings
);

Параметры

[out] enterprise

Указатель на структуру AsnObjectIdentifier для получения предприятия, создающего SNMP-ловушку.

[out] IPAddress

Указатель на переменную для получения адреса агента, создающего SNMP-ловушку.

[out] genericTrap

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

Значение Значение
SNMP_GENERICTRAP_COLDSTART
Агент инициализирует сущности протокола в управляемом режиме. Он может изменять объекты в своем представлении.
SNMP_GENERICTRAP_WARMSTART
Агент повторно инициализирует себя, но не изменяет объекты в своем представлении.
SNMP_GENERICTRAP_LINKDOWN
Подключенный интерфейс изменился с состояния "вверх" на "вниз". Первая переменная в списке привязок переменных определяет интерфейс .
SNMP_GENERICTRAP_LINKUP
Подключенный интерфейс изменился с состояния "вниз" на "вверх". Первая переменная в списке привязок переменных определяет интерфейс .
SNMP_GENERICTRAP_AUTHFAILURE
Сущность SNMP отправила snmp-сообщение, но она ложно утверждала, что принадлежит известному сообществу.
SNMP_GENERICTRAP_EGPNEIGHLOSS
Одноранговый узел EGP переключился в состояние "down". Первая переменная в списке привязок переменных определяет IP-адрес однорангового узла EGP.
SNMP_GENERICTRAP_ENTERSPECIFIC
Произошло чрезвычайное событие, и оно определяется в параметре specificTrap с корпоративным значением.

[out] specificTrap

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

[out] timeStamp

Указатель на переменную для получения метки времени.

[out] variableBindings

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

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

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

Следует вызывать функцию SnmpMgrGetTrap несколько раз, пока она не вернет значение FALSE (ноль). Функция также может возвращать следующие коды ошибок.

Код возврата Описание
SNMP_MGMTAPI_TRAP_ERRORS
Указывает, что обнаружены ошибки; ловушки недоступны.
SNMP_MGMTAPI_NOTRAPS
Указывает, что ловушки недоступны.
SNMP_MEM_ALLOC_ERROR
Указывает на ошибку выделения памяти.

Комментарии

Приложение должно всегда вызывать функцию SnmpMgrTrapListen перед вызовом функции SnmpMgrGetTrap . Это связано с тем, что дескриптор событий, на который указывает параметр phTrapAvailable функции SnmpMgrTrapListen , позволяет получать snmp-ловушки на основе событий. API управления SNMP сигнализирует о событии приложения, когда служба SNMP-ловушки предоставляет ловушку.

Приложение также может опрашивает функцию SnmpMgrGetTrap на наличие ловушек через регулярные интервалы. В этом случае приложение должно повторно вызывать SnmpMgrGetTrap , пока функция не вернет ноль.

Требования

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

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

AsnObjectIdentifier

Функции SNMP

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

SnmpMgrTrapListen

SnmpVarBindList