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


Функция SnmpExtensionTrap (snmp.h)

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

Служба Microsoft SNMP вызывает функцию SnmpExtensionTrap для получения сведений, необходимых службе для создания ловушек для агента расширения SNMP. Служба вызывает эту функцию только после того, как агент расширения устанавливает дескриптор события ловушки в состояние сигнала во время вызова функции SnmpExtensionInit . Функция SnmpExtensionTrap является элементом API агента расширения SNMP.

Синтаксис

BOOL SNMP_FUNC_TYPE SnmpExtensionTrap(
  [out] AsnObjectIdentifier *pEnterpriseOid,
  [out] AsnInteger32        *pGenericTrapId,
  [out] AsnInteger32        *pSpecificTrapId,
  [out] AsnTimeticks        *pTimeStamp,
  [out] SnmpVarBindList     *pVarBindList
);

Параметры

[out] pEnterpriseOid

Указатель на структуру AsnObjectIdentifier для получения идентификатора объекта предприятия, создающего ловушку. Служба SNMP не освобождает память для этой переменной.

[out] pGenericTrapId

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

Значение Значение
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
Сигнализирует о чрезвычайном событии, которое определяется в параметре pSpecificTrapId .

[out] pSpecificTrapId

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

[out] pTimeStamp

Указатель на переменную для получения метки времени. Рекомендуется инициализировать этот параметр значением, возвращаемым вызовом функции SnmpSvcGetUptime .

[out] pVarBindList

Указатель на список привязок переменных. Агент расширения должен выделить память для этого параметра. Служба SNMP освобождает память с помощью вызова функции SnmpUtilVarBindListFree .

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

Если функция SnmpExtensionTrap возвращает ловушку, возвращается значение TRUE. Служба SNMP неоднократно вызывает функцию, пока не вернет значение FALSE. Дополнительные сведения см. в следующем разделе Примечаний.

Комментарии

Служба SNMP неоднократно вызывает функцию SnmpExtensionTrap , когда для дескриптора события phSubagentTrapEvent задано состояние сигнала. Этот дескриптор передается обратно во время вызова функции точки входа SnmpExtensionInit . Функция SnmpExtensionTrap должна возвращать значение TRUE , чтобы указать, что параметры содержат допустимые данные для одной ловушки. Функция должна возвращать значение FALSE , чтобы указать, что параметры не представляют допустимые данные ловушки, и остановить повторяющиеся вызовы службы.

Обратите внимание, что после отправки ловушки служба SNMP освобождает память, связанную со списком привязки переменных.

Важно отметить, что ранее в документации говорилось, что агент расширения должен динамически выделять память для идентификатора корпоративного объекта, так как служба SNMP попытается освободить память после отправки ловушки. Служба не освобождает память, связанную с идентификатором корпоративного объекта. Вместо этого рекомендуется возвращать указатель на статическую структуру AsnObjectIdentifier .

Требования

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

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

Функции SNMP

SetEvent

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

SnmpExtensionInit

SnmpSvcGetUptime

SnmpUtilMemAlloc

SnmpUtilVarBindListFree

SnmpVarBindList