Функция SnmpOpen (winsnmp.h)
[SNMP доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте удаленное управление Windows, которое является реализацией WS-Man майкрософт.]
Функция SnmpOpen запрашивает реализацию Microsoft WinSNMP, чтобы открыть сеанс для приложения WinSNMP. Эта функция WinSNMP позволяет реализовать выделение и инициализацию памяти, ресурсов, структур данных и механизмов связи. Функция SnmpOpen возвращает дескриптор новому сеансу WinSNMP.
Синтаксис
HSNMP_SESSION SNMPAPI_CALL SnmpOpen(
[in] HWND hWnd,
[in] UINT wMsg
);
Параметры
[in] hWnd
Обработка в окне приложения WinSNMP для уведомления о завершении асинхронного запроса или получении уведомления о ловушке.
[in] wMsg
Задает целое число без знака, определяющее уведомление, отправляемое в окно приложения WinSNMP.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение представляет собой дескриптор, определяющий сеанс WinSNMP, открытый реализацией для вызывающего приложения.
Если функция завершается сбоем, возвращаемое значение SNMPAPI_FAILURE. Чтобы получить расширенные сведения об ошибке, вызовите SnmpGetLastError , указав значение NULL в параметре сеанса . Функция SnmpGetLastError может возвращать одну из следующих ошибок.
Код возврата | Описание |
---|---|
|
Не удалось выполнить функцию SnmpStartup . |
|
Ошибка при выделении памяти. |
|
Параметр hWnd не является допустимым дескриптором окна. |
|
Произошла неизвестная или неопределенная ошибка. |
Комментарии
Функция SnmpOpen возвращает уникальный дескриптор для каждого открытого сеанса WinSNMP в вызывающем приложении WinSNMP. Приложение должно использовать дескриптор сеанса, возвращаемый SnmpOpen в других вызовах функций WinSNMP, чтобы упростить выделение и освобождение ресурсов реализацией. Когда реализация выделяет ресурсы для отдельного сеанса, она выполняет упорядоченное освобождение ресурсов в ответ на вызов SnmpClose для сеанса.
Функция SnmpOpen передает реализации дескриптор в окно приложения и идентификатор сообщения уведомления. Если компонент wParam сообщения уведомления, указанного параметром wMsg , равен нулю, приложение WinSNMP должно получить единицу данных входящего протокола (PDU). Для этого приложение вызывает функцию SnmpRecvMsg с дескриптором сеанса, возвращенным SnmpOpen. Если параметр wParam сообщения уведомления не равен нулю, он представляет код ошибки WinSNMP. Код ошибки применяется к PDU, определяемого идентификатором запроса в параметре lParam сообщения уведомления.
Одно приложение WinSNMP может открывать несколько сеансов WinSNMP. Если приложение открывает несколько сеансов с использованием одного дескриптора окна, рекомендуется, чтобы приложение WinSNMP указало уникальный параметр wMsg для каждого сеанса.
Рекомендуется, чтобы приложение WinSNMP вызывало функцию SnmpClose один раз для каждого сеанса, открываемого реализацией в результате вызова функции SnmpOpen . Если приложение WinSNMP неожиданно завершает работу, оно должно вызвать SnmpCleanup перед завершением, чтобы реализовать освобождение всех ресурсов. Реализация обрабатывает один вызов SnmpCleanup как серию вызовов SnmpClose , один вызов для каждого сеанса, который открывается реализацией в результате вызова SnmpOpen.
Сведения об открытии сеанса WinSNMP и указании метода, используемого для информирования сеанса о доступных сообщениях SNMP и асинхронных событиях, см. в разделе SnmpCreateSession. При вызове SnmpCreateSession можно указать уведомление окна или функцию SNMPAPI_CALLBACK для уведомления сеанса.
Дополнительные сведения см. в разделе Сеансы WinSNMP.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winsnmp.h |
Библиотека | Wsnmp32.lib |
DLL | Wsnmp32.dll |