Функция SnmpCleanupEx (winsnmp.h)
[SNMP доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте удаленное управление Windows, которое является реализацией WS-Man майкрософт.]
Функция SnmpCleanupEx выполняет очистку, если в приложении Windows SNMP (WinSNMP) отсутствуют невыполненные успешные вызовы SnmpStartup или SnmpStartupEx . В противном случае количество внутренних ссылок, указывающее текущее количество невыполненных успешных вызовов SnmpStartupEx , уменьшается.
Эту функцию следует использовать вместо SnmpCleanup , если установлена Windows Server 2003 с пакетом обновления 1 (SP1) или более поздней версии. SnmpCleanupEx обеспечивает поддержку нескольких независимых программных модулей, использующих WinSNMP в одном приложении.
Синтаксис
SNMPAPI_STATUS SNMPAPI_CALL SnmpCleanupEx();
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет SNMPAPI_SUCCESS. Пока приложение WinSNMP не будет успешно отзывать соответствующую функцию SnmpStartupEx и не будет дополнительных невыполненных успешных вызовов SnmpStartup или SnmpStartupEx, любой другой вызов функции WinSNMP в том же приложении возвращает SNMPAPI_FAILURE с расширенным кодом ошибки SNMPAPI_NOT_INITIALIZED.
Если функция завершается сбоем, возвращаемое значение SNMPAPI_FAILURE, но приложению WinSNMP не нужно повторять вызов SnmpCleanupEx. Чтобы получить расширенные сведения об ошибке, вызовите SnmpGetLastError , указав значение NULL в параметре сеанса . Функция SnmpGetLastError может возвращать одну из следующих ошибок.
Код возврата | Описание |
---|---|
|
Ошибка при выделении памяти. |
|
Функция SnmpStartupEx не завершилась успешно, или произошла неизвестная или неопределенная ошибка. |
Комментарии
Прежде чем приложение WinSNMP вызовет SnmpCleanupEx, оно должно вызывать функцию SnmpClose один раз для каждого сеанса, который открывается реализацией в результате вызова функции SnmpCreateSession .
Когда приложение WinSNMP вызывает функцию SnmpCleanupEx , реализация освобождает все ресурсы, выделенные приложению, если также отсутствуют невыполненные успешные вызовы SnmpStartup или SnmpStartupEx. Однако рекомендуется, чтобы приложение WinSNMP освободило определенные ресурсы, выделенные для него реализацией, с помощью функции WinSNMP, соответствующей ресурсу. Дополнительные сведения об освобождении отдельных ресурсов см. в разделах SnmpFreeEntity, SnmpFreeVbl, SnmpFreeDescriptor, SnmpFreeContext и SnmpFreePdu.
Если приложение WinSNMP должно выполнить аварийный выход и оно вызывает SnmpCleanupEx без освобождения отдельных ресурсов и без вызова SnmpClose для каждого открытого сеанса, реализация освобождает все ресурсы, выделенные приложению WinSNMP. Тем не менее, чтобы включить эту функцию в реализации, приложение должно по-прежнему вызывать SnmpCleanupEx.
SnmpCleanupEx не следует вызывать, когда библиотека DLL приложения находится в процессе выгрузки.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winsnmp.h |
Библиотека | Wsnmp32.lib |
DLL | Wsnmp32.dll |