Функция SnmpCreatePdu (winsnmp.h)
[SNMP доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте удаленное управление Windows, которое является реализацией WS-Man майкрософт.]
Функция WinSNMP SnmpCreatePdu создает и инициализирует единицу данных протокола SNMP (PDU).
Синтаксис
HSNMP_PDU SNMPAPI_CALL SnmpCreatePdu(
[in] HSNMP_SESSION session,
[in] smiINT PDU_type,
[in] smiINT32 request_id,
[in] smiINT error_status,
[in] smiINT error_index,
[in] HSNMP_VBL varbindlist
);
Параметры
[in] session
Обработка в сеансе WinSNMP.
[in] PDU_type
Указывает тип PDU, определяющий операцию SNMP. Этот параметр может иметь значение NULL или одно из следующих значений. Если этот параметр имеет значение NULL, реализация Microsoft WinSNMP предоставляет тип PDU по умолчанию SNMP_PDU_GETNEXT. Единственным типом PDU-ловушки, который можно создать с помощью вызова функции SnmpCreatePdu , является PDU-ловушка SNMPv2C.
[in] request_id
Задает уникальное числовое значение, которое приложение WinSNMP предоставляет для идентификации PDU. Если этот параметр имеет значение NULL, реализация присваивает значение .
[in] error_status
Если параметр PDU_type равен SNMP_PDU_GETBULK, этот параметр задает значение для поля non_repeaters PDU. Для других типов PDU этот параметр задает значение для поля error_status PDU. Этот параметр может принимать значение NULL.
[in] error_index
Если параметр PDU_type равен SNMP_PDU_GETBULK, этот параметр задает значение для поля max_repetitions PDU. Для других типов PDU этот параметр задает значение поля error_index PDU. Этот параметр может принимать значение NULL.
[in] varbindlist
Обработка структуры, представляющей список привязок переменных SNMP. Этот параметр может принимать значение NULL.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет дескриптором нового SNMP PDU.
Если функция завершается сбоем, возвращаемое значение SNMPAPI_FAILURE. Чтобы получить расширенные сведения об ошибке, вызовите SnmpGetLastError. Функция SnmpGetLastError может возвращать одну из следующих ошибок.
Код возврата | Описание |
---|---|
|
Не удалось выполнить функцию SnmpStartup . |
|
Ошибка при выделении памяти. |
|
Недопустимый дескриптор сеанса. |
|
Недопустимый тип PDU. |
|
Недопустимый список привязок переменных. |
|
Произошла неизвестная или неопределенная ошибка. |
Комментарии
Приложение WinSNMP должно создать PDU перед вызовом функций SnmpSendMsg или SnmpEncodeMsg .
Все параметры функции SnmpCreatePdu являются обязательными. Однако все параметры, кроме параметра сеанса , могут иметь значение NULL. В этом случае новый PDU имеет следующие значения по умолчанию.
Поле | Содержимое |
---|---|
PDU_type | SNMP_PDU_GETNEXT |
request_id | Реализация создает числовое значение. |
error_status | SNMP_ERROR_NOERROR |
error_index | 0 |
varbindlist | NULL |
Приложение должно вызвать функцию SnmpFreePdu , чтобы освободить ресурсы, выделенные функцией SnmpCreatePdu для нового PDU.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winsnmp.h |
Библиотека | Wsnmp32.lib |
DLL | Wsnmp32.dll |