Функция 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 или она больше не действует в этой роли. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
Указанная сущность WinSNMP работает в роли агента. |
|
Указанная сущность WinSNMP не работает в роли агента. |
Передача значения SNMPAPI_OFF освобождает как ресурсы, выделенные сущности, так и назначенный ей порт. Дополнительные сведения см. в разделе "Примечания".
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет SNMPAPI_SUCCESS.
Если функция завершается сбоем, возвращаемое значение будет SNMPAPI_FAILURE. Чтобы получить расширенные сведения об ошибке, вызовите SnmpGetLastError. Функция SnmpGetLastError может возвращать одну из следующих ошибок.
Код возврата | Описание |
---|---|
|
Функция SnmpStartup не была успешно завершена. |
|
Произошла ошибка при выделении памяти. |
|
Недопустимый параметр hEntity . Этот параметр должен быть дескриптором, возвращенным предыдущим вызовом функции SnmpStrToEntity . |
|
Недопустимый параметр lStatus . |
|
Сущность, указанная параметром hEntity , уже работает в роли агента SNMP. |
|
Произошла ошибка сетевого транспортного уровня. Не удалось создать сокет для сущности, указанной параметром hEntity . |
|
Произошла ошибка на транспортном уровне сети при попытке привязать сокет для сущности, указанной параметром hEntity . |
|
Произошла неизвестная или неопределенная ошибка. |
Комментарии
При указании сущности явно указывается семейство адресов, адрес интерфейса и порт для сущности. Это связано с тем, что 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 |