Compartir a través de


Función SnmpCreatePdu (winsnmp.h)

[SNMP está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. En su lugar, use administración remota de Windows, que es la implementación de Microsoft de WS-Man.]

La función SnmpCreatePdu de WinSNMP crea e inicializa una unidad de datos del protocolo SNMP (PDU).

Sintaxis

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
);

Parámetros

[in] session

Controla la sesión de WinSNMP.

[in] PDU_type

Especifica un tipo PDU que identifica la operación SNMP. Este parámetro puede ser NULL o puede ser uno de los valores siguientes. Si este parámetro es NULL, la implementación de Microsoft WinSNMP proporciona el tipo PDU predeterminado SNMP_PDU_GETNEXT. El único tipo de PDU de captura que puede crear con una llamada a la función SnmpCreatePdu es una PDU de captura de SNMPv2C.

Valor Significado
SNMP_PDU_GET
Busque y recupere un valor de una variable SNMP especificada.
SNMP_PDU_GETNEXT
Busque y recupere el valor de una variable SNMP sin conocer el nombre exacto de la variable.
SNMP_PDU_RESPONSE
Responder a un SNMP_PDU_GET o a una solicitud de SNMP_PDU_GETNEXT.
SNMP_PDU_SET
Almacene un valor en una variable SNMP especificada.
SNMP_PDU_GETBULK
Busque y recupere varios valores con una sola solicitud.
SNMP_PDU_TRAP
Alerta al sistema de administración a un evento en SNMPv2C.

[in] request_id

Especifica un valor numérico único que la aplicación WinSNMP proporciona para identificar el PDU. Si este parámetro es NULL, la implementación asigna un valor.

[in] error_status

Si el parámetro PDU_type es igual a SNMP_PDU_GETBULK, este parámetro especifica un valor para el campo non_repeaters del PDU. Para otros tipos PDU, este parámetro especifica un valor para el campo error_status de la PDU. Este parámetro puede ser NULL.

[in] error_index

Si el parámetro PDU_type es igual a SNMP_PDU_GETBULK, este parámetro especifica un valor para el campo max_repetitions del PDU. Para otros tipos PDU, este parámetro especifica un valor para el campo error_index del PDU. Este parámetro puede ser NULL.

[in] varbindlist

Identificador de una estructura que representa una lista de enlaces de variables SNMP. Este parámetro puede ser NULL.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es el identificador de un nuevo PDU snmp.

Si se produce un error en la función, el valor devuelto se SNMPAPI_FAILURE. Para obtener información de error extendida, llame a SnmpGetLastError. La función SnmpGetLastError puede devolver uno de los siguientes errores.

Código devuelto Descripción
SNMPAPI_NOT_INITIALIZED
La función SnmpStartup no se completó correctamente.
SNMPAPI_ALLOC_ERROR
Error durante la asignación de memoria.
SNMPAPI_SESSION_INVALID
El identificador de sesión no es válido.
SNMPAPI_PDU_INVALID
El tipo PDU no es válido.
SNMPAPI_VBL_INVALID
La lista de enlaces de variables no es válida.
SNMPAPI_OTHER_ERROR
Se produjo un error desconocido o no definido.

Comentarios

Una aplicación WinSNMP debe crear una PDU antes de llamar a las funciones SnmpSendMsg o SnmpEncodeMsg .

Se requieren todos los parámetros de la función SnmpCreatePdu . Sin embargo, todos los parámetros, excepto el parámetro session , pueden ser NULL. En este caso, la nueva PDU tiene los siguientes valores predeterminados.

Campo Contenido
PDU_type SNMP_PDU_GETNEXT
id_de_solicitud La implementación genera un valor numérico.
error_status SNMP_ERROR_NOERROR
error_index 0
varbindlist NULL
 

La aplicación debe llamar a la función SnmpFreePdu para liberar los recursos que la función SnmpCreatePdu asigna para la nueva PDU.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winsnmp.h
Library Wsnmp32.lib
Archivo DLL Wsnmp32.dll

Consulte también

SnmpEncodeMsg

SnmpFreePdu

SnmpSendMsg

Funciones winSNMP

Introducción a la API winSNMP