SnmpDecodeMsg, fonction (winsnmp.h)

[SNMP est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. Utilisez plutôt Windows Remote Management, qui est l’implémentation Microsoft de WS-Man.]

La fonction SnmpDecodeMsg WinSNMP décode un message SNMP encodé dans ses composants. Cette fonction effectue l’action inverse de la fonction SnmpEncodeMsg WinSNMP.

Syntaxe

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

Paramètres

[in] session

Gérez la session WinSNMP. Ce paramètre est obligatoire. Pour plus d’informations, consultez la section Remarques suivante.

[out] srcEntity

Pointeur vers une variable qui reçoit un handle vers l’entité de gestion source. Pour plus d'informations, consultez la section Notes qui suit.

[out] dstEntity

Pointeur vers une variable qui reçoit un handle à l’entité de gestion cible. Pour plus d'informations, consultez la section Notes qui suit.

[out] context

Pointeur vers une variable qui reçoit un handle vers le contexte (ensemble de ressources d’objet managé) que l’entité de gestion cible contrôle.

[out] pdu

Pointeur vers une variable qui reçoit un handle vers l’unité de données de protocole SNMP (PDU).

[in] msgBufDesc

Pointeur vers une structure smiOCTETS qui contient le message SNMP à décoder dans ses composants. Le membre len de la structure spécifie le nombre maximal d’octets à traiter ; le membre ptr pointe vers le message SNMP encodé.

Valeur retournée

Si la fonction réussit, la valeur de retour est le nombre d’octets décodés. Cette valeur peut être égale ou inférieure au membre len de la structure smiOCTETS pointée par le paramètre msgBufDesc .

Si la fonction échoue, la valeur de retour est SNMPAPI_FAILURE. Pour obtenir des informations d’erreur étendues, appelez SnmpGetLastError. La fonction SnmpGetLastError peut retourner l’une des erreurs suivantes.

Code de retour Description
SNMPAPI_NOT_INITIALIZED
La fonction SnmpStartup ne s’est pas terminée correctement.
SNMPAPI_ALLOC_ERROR
Une erreur s’est produite lors de l’allocation de mémoire.
SNMPAPI_SESSION_INVALID
Le paramètre de session n’est pas valide.
SNMPAPI_ENTITY_INVALID
L’un des paramètres d’entité ou les deux n’est pas valide.
SNMPAPI_CONTEXT_INVALID
Le paramètre de contexte n’est pas valide.
SNMPAPI_PDU_INVALID
Le paramètre pdu n’est pas valide.
SNMPAPI_OUTPUT_TRUNCATED
La longueur de la mémoire tampon de sortie est insuffisante. Aucun paramètre de sortie n’a été créé.
SNMPAPI_MESSAGE_INVALID
Le format de message SNMP dans la mémoire tampon indiqué par le paramètre msgBufDesc n’est pas valide. Aucun paramètre de sortie n’a été créé.
SNMPAPI_OTHER_ERROR
Une erreur inconnue ou non définie s’est produite.

Remarques

L’implémentation de Microsoft WinSNMP retourne une valeur de zéro dans les paramètres srcEntity et dstEntity lorsqu’une application envoie un message SNMPv1 ou SNMPv2C à la fonction SnmpDecodeMsg . En effet, le format de message n’inclut pas les informations d’adresse nécessaires pour créer des ressources d’entité WinSNMP.

L’implémentation De Microsoft WinSNMP alloue des ressources à l’application WinSNMP à la suite d’un appel réussi à la fonction SnmpDecodeMsg . Il est recommandé que l’application WinSNMP libère des ressources individuelles avec la fonction WinSNMP qui correspond à la ressource. Pour plus d’informations, consultez Freeing WinSNMP Descriptors and WinSNMP Gestion des données Concepts.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winsnmp.h
Bibliothèque Wsnmp32.lib
DLL Wsnmp32.dll

Voir aussi

SnmpEncodeMsg

SnmpFreeContext

SnmpFreeEntity

SnmpFreePdu

SnmpSendMsg

Fonctions WinSNMP

Vue d’ensemble de l’API WinSNMP

smiOCTETS