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


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

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

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

Синтаксис

BOOL SNMP_FUNC_TYPE SnmpMgrGetTrapEx(
  [out] AsnObjectIdentifier *enterprise,
  [out] AsnNetworkAddress   *agentAddress,
  [out] AsnNetworkAddress   *sourceAddress,
  [out] AsnInteger          *genericTrap,
  [out] AsnInteger          *specificTrap,
  [out] AsnOctetString      *community,
  [out] AsnTimeticks        *timeStamp,
  [out] RFC1157VarBindList  *variableBindings
);

Параметры

[out] enterprise

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

[out] agentAddress

Указатель на переменную для получения адреса агента, создающего SNMP-ловушку; эти сведения извлекаются из единицы данных протокола SNMP (PDU).

[out] sourceAddress

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

[out] genericTrap

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

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

[out] specificTrap

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

[out] community

Указатель на структуру AsnOctetString для получения строки сообщества созданной SNMP-ловушки.

[out] timeStamp

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

[out] variableBindings

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

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

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

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

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

Комментарии

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

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

Требования

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

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

AsnObjectIdentifier

AsnOctetString

Функции SNMP

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

SnmpMgrTrapListen

SnmpVarBindList