Функция SnmpEncodeMsg (winsnmp.h)
[SNMP доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте удаленное управление Windows, которое является реализацией WS-Man майкрософт.]
Реализация Microsoft WinSNMP использует параметры, переданные в функции SnmpEncodeMsg WinSNMP, для кодирования сообщения SNMP. Реализация возвращает закодированное сообщение SNMP приложению WinSNMP в буфере, указанном параметром msgBufDesc .
Синтаксис
SNMPAPI_STATUS SNMPAPI_CALL SnmpEncodeMsg(
[in] HSNMP_SESSION session,
[in] HSNMP_ENTITY srcEntity,
[in] HSNMP_ENTITY dstEntity,
[in] HSNMP_CONTEXT context,
[in] HSNMP_PDU pdu,
[out] smiLPOCTETS msgBufDesc
);
Параметры
[in] session
Дескриптор сеанса WinSNMP.
[in] srcEntity
Дескриптор сущности управления, которая инициирует запрос на кодирование SNMP-сообщения.
[in] dstEntity
Дескриптор целевой сущности управления.
[in] context
Обработка в контексте (наборе ресурсов управляемого объекта), которым управляет целевая сущность управления.
[in] pdu
Дескриптор PDU, который содержит запрос операции SNMP.
[out] msgBufDesc
Указатель на структуру smiOCTETS , которая получает закодированное сообщение SNMP.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение равно длине закодированного SNMP-сообщения в байтах. Это число также является значением элемента len структуры smiOCTETS , на которую указывает параметр msgBufDesc .
Если функция завершается сбоем, возвращаемое значение будет SNMPAPI_FAILURE. Дополнительные сведения см. в следующем разделе Примечаний. Чтобы получить расширенные сведения об ошибке, вызовите SnmpGetLastError. Функция SnmpGetLastError может возвращать одну из следующих ошибок.
Код возврата | Описание |
---|---|
|
Функция SnmpStartup не была успешно завершена. |
|
Произошла ошибка при выделении памяти. |
|
Недопустимый параметр сеанса . |
|
Один или оба параметра сущности являются недопустимыми. |
|
Недопустимый параметр контекста . |
|
Недопустимый параметр pdu . |
|
Произошла неизвестная или неопределенная ошибка. |
Комментарии
Первые пять параметров, переданных в функцию SnmpEncodeMsg , являются теми же параметрами, которые передаются в функцию SnmpSendMsg .
Приложение WinSNMP должно вызывать функцию SnmpFreeDescriptor , чтобы освободить ресурсы, выделенные для элемента ptr структуры smiOCTETS . Это структура, на которую указывает параметр msgBufDesc . Дополнительные сведения см. в статье Основные понятия Управление данными WinSNMP.
На входных данных функция SnmpEncodeMsg игнорирует элементы структуры, на которые указывает параметр msgBufDesc . Реализация перезаписывает члены структуры при успешном завершении функции.
Реализация проверяет формат первых пяти входных параметров. Если один из параметров недопустим, SnmpEncodeMsg возвращает SNMPAPI_FAILURE, а SnmpGetLastError — расширенный код ошибки.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winsnmp.h |
Библиотека | Wsnmp32.lib |
DLL | Wsnmp32.dll |