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


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

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

Функция SnmpListen WinSNMP регистрирует приложение WinSNMP в качестве агента SNMP. Приложение агента вызывает эту функцию, чтобы сообщить реализации Microsoft WinSNMP о том, что сущность будет выступать в роли агента SNMP. Приложение также вызывает эту функцию, чтобы сообщить реализации, когда сущность больше не будет действовать в этой роли. Функция SnmpListen является элементом API WinSNMP версии 2.0.

Синтаксис

SNMPAPI_STATUS SNMPAPI_CALL SnmpListen(
  [in] HSNMP_ENTITY   hEntity,
  [in] SNMPAPI_STATUS lStatus
);

Параметры

[in] hEntity

Дескриптор сущности WinSNMP, чтобы уведомлять, когда реализация Microsoft WinSNMP получает входящее сообщение запроса SNMP (PDU). Этот параметр идентифицирует приложение агента. Дополнительные сведения см. в следующих разделах Примечания и Возвращаемые значения.

При вызове функции SnmpCreateSession можно указать, должна ли реализация использовать уведомление окна или функцию SNMPAPI_CALLBACK для уведомления приложения о доступности сообщения SNMP или асинхронного события.

[in] lStatus

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

Значение Значение
SNMPAPI_ON
Указанная сущность WinSNMP работает в роли агента.
SNMPAPI_OFF
Указанная сущность WinSNMP не работает в роли агента.
 

Передача значения SNMPAPI_OFF освобождает как ресурсы, выделенные сущности, так и назначенный ей порт. Дополнительные сведения см. в разделе "Примечания".

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

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

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

Код возврата Описание
SNMPAPI_NOT_INITIALIZED
Функция SnmpStartup не была успешно завершена.
SNMPAPI_ALLOC_ERROR
Произошла ошибка при выделении памяти.
SNMPAPI_ENTITY_INVALID
Недопустимый параметр hEntity . Этот параметр должен быть дескриптором, возвращенным предыдущим вызовом функции SnmpStrToEntity .
SNMPAPI_MODE_INVALID
Недопустимый параметр lStatus .
SNMPAPI_NOOP
Сущность, указанная параметром hEntity , уже работает в роли агента SNMP.
SNMPAPI_TL_RESOURCE_ERROR
Произошла ошибка сетевого транспортного уровня. Не удалось создать сокет для сущности, указанной параметром hEntity .
SNMPAPI_TL_OTHER
Произошла ошибка на транспортном уровне сети при попытке привязать сокет для сущности, указанной параметром hEntity .
SNMPAPI_OTHER_ERROR
Произошла неизвестная или неопределенная ошибка.

Комментарии

При указании сущности явно указывается семейство адресов, адрес интерфейса и порт для сущности. Это связано с тем, что WinSNMP назначает эти атрибуты каждой сущности WinSNMP в результате вызова функции SnmpStrToEntity . Реализация использует параметры адреса и порта, которые в настоящее время назначены сущности, указанной параметром hEntity , при отправке уведомлений в приложение агента. Дополнительные сведения см. в разделе SnmpSetPort.

При вызове функции SnmpClose для сеанса WinSNMP и функции SnmpCleanup для приложения WinSNMP необходимо освободить все порты, связанные с приложениями агента WinSNMP.

Дополнительные сведения о приложениях управления SNMP и приложениях агентов см. в разделах Регистрация приложения агента SNMP и Сведения о SNMP.

Требования

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

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

SnmpCleanup

SnmpClose

SnmpRecvMsg

SnmpSendMsg

SnmpSetPort

SnmpStrToEntity

Функции WinSNMP

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