Compartir a través de


Función SnmpDecodeMsg (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 la administración remota de Windows, que es la implementación de Microsoft de WS-Man.]

La función SnmpDecodeMsg de WinSNMP descodifica un mensaje SNMP codificado en sus componentes. Esta función realiza la acción opuesta de la función SnmpEncodeMsg de WinSNMP.

Sintaxis

SNMPAPI_STATUS SNMPAPI_CALL SnmpDecodeMsg(
  [in]  HSNMP_SESSION   session,
  [out] LPHSNMP_ENTITY  srcEntity,
  [out] LPHSNMP_ENTITY  dstEntity,
  [out] LPHSNMP_CONTEXT context,
  [out] LPHSNMP_PDU     pdu,
  [in]  smiLPCOCTETS    msgBufDesc
);

Parámetros

[in] session

Controle la sesión de WinSNMP. Este parámetro es obligatorio. Para obtener más información, vea la siguiente sección Comentarios.

[out] srcEntity

Puntero a una variable que recibe un identificador para la entidad de administración de origen. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

[out] dstEntity

Puntero a una variable que recibe un identificador para la entidad de administración de destino. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

[out] context

Puntero a una variable que recibe un identificador para el contexto (un conjunto de recursos de objetos administrados) que controla la entidad de administración de destino.

[out] pdu

Puntero a una variable que recibe un identificador para la unidad de datos del protocolo SNMP (PDU).

[in] msgBufDesc

Puntero a una estructura smiOCTETS que contiene el mensaje SNMP que se va a descodificar en sus componentes. El miembro len de la estructura especifica el número máximo de bytes que se van a procesar; el miembro ptr apunta al mensaje SNMP codificado.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es el número de bytes descodificados. Este valor puede ser igual o menor que el miembro len de la estructura smiOCTETS a la que apunta el parámetro msgBufDesc .

Si se produce un error en la función, el valor devuelto es 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 parámetro session no es válido.
SNMPAPI_ENTITY_INVALID
Uno o ambos parámetros de entidad no son válidos.
SNMPAPI_CONTEXT_INVALID
El parámetro de contexto no es válido.
SNMPAPI_PDU_INVALID
El parámetro pdu no es válido.
SNMPAPI_OUTPUT_TRUNCATED
La longitud del búfer de salida no es suficiente. No se crearon parámetros de salida.
SNMPAPI_MESSAGE_INVALID
El formato de mensaje SNMP en el búfer indicado por el parámetro msgBufDesc no es válido. No se crearon parámetros de salida.
SNMPAPI_OTHER_ERROR
Error desconocido o indefinido.

Comentarios

La implementación de Microsoft WinSNMP devuelve un valor de cero en los parámetros srcEntity y dstEntity cuando una aplicación envía un SNMPv1 o un mensaje SNMPv2C a la función SnmpDecodeMsg . Esto se debe a que el formato del mensaje no incluye la información de dirección necesaria para crear recursos de entidad winSNMP.

La implementación de Microsoft WinSNMP asigna recursos a la aplicación WinSNMP como resultado de una llamada correcta a la función SnmpDecodeMsg . Se recomienda que la aplicación WinSNMP libere recursos individuales con la función WinSNMP que corresponde al recurso. Para obtener más información, consulte Freeing WinSNMP Descriptors and WinSNMP Administración de datos Concepts.

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

SnmpFreeContext

SnmpFreeEntity

SnmpFreePdu

SnmpSendMsg

Funciones winSNMP

Introducción a la API de WinSNMP

smiOCTETS