Partager via


SnmpCreatePdu, 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 SnmpCreatePdu WinSNMP crée et initialise une unité de données de protocole SNMP (PDU).

Syntaxe

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

Paramètres

[in] session

Gérez la session WinSNMP.

[in] PDU_type

Spécifie un type PDU qui identifie l’opération SNMP. Ce paramètre peut être NULL ou il peut s’agir de l’une des valeurs suivantes. Si ce paramètre a la valeur NULL, l’implémentation Microsoft WinSNMP fournit le type PDU par défaut SNMP_PDU_GETNEXT. Le seul type de PDU d’interruption que vous pouvez créer avec un appel à la fonction SnmpCreatePdu est une PDU d’interruption SNMPv2C.

Valeur Signification
SNMP_PDU_GET
Recherchez et récupérez une valeur à partir d’une variable SNMP spécifiée.
SNMP_PDU_GETNEXT
Recherchez et récupérez la valeur d’une variable SNMP sans connaître le nom exact de la variable.
SNMP_PDU_RESPONSE
Répondre à un SNMP_PDU_GET ou à une demande de SNMP_PDU_GETNEXT.
SNMP_PDU_SET
Stockez une valeur dans une variable SNMP spécifiée.
SNMP_PDU_GETBULK
Recherchez et récupérez plusieurs valeurs avec une seule requête.
SNMP_PDU_TRAP
Alerte le système de gestion à un événement sous SNMPv2C.

[in] request_id

Spécifie une valeur numérique unique que l’application WinSNMP fournit pour identifier la PDU. Si ce paramètre a la valeur NULL, l’implémentation affecte une valeur.

[in] error_status

Si le paramètre PDU_type est égal à SNMP_PDU_GETBULK, ce paramètre spécifie une valeur pour le champ non_repeaters de la PDU. Pour les autres types de PDU, ce paramètre spécifie une valeur pour le champ error_status du PDU. Ce paramètre peut être NULL.

[in] error_index

Si le paramètre PDU_type est égal à SNMP_PDU_GETBULK, ce paramètre spécifie une valeur pour le champ max_repetitions de la PDU. Pour les autres types de PDU, ce paramètre spécifie une valeur pour le champ error_index du PDU. Ce paramètre peut être NULL.

[in] varbindlist

Handle vers une structure qui représente une liste de liaisons de variables SNMP. Ce paramètre peut être NULL.

Valeur retournée

Si la fonction réussit, la valeur de retour est le handle d’une nouvelle PDU SNMP.

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 handle de session n’est pas valide.
SNMPAPI_PDU_INVALID
Le type PDU n’est pas valide.
SNMPAPI_VBL_INVALID
La liste des liaisons de variables n’est pas valide.
SNMPAPI_OTHER_ERROR
Une erreur inconnue ou non définie s’est produite.

Remarques

Une application WinSNMP doit créer une PDU avant d’appeler les fonctions SnmpSendMsg ou SnmpEncodeMsg .

Tous les paramètres de la fonction SnmpCreatePdu sont obligatoires. Toutefois, tous les paramètres, à l’exception du paramètre de session , peuvent être NULL. Dans cette instance, la nouvelle PDU a les valeurs par défaut suivantes.

Champ Contenu
PDU_type SNMP_PDU_GETNEXT
request_id L’implémentation génère une valeur numérique.
error_status SNMP_ERROR_NOERROR
error_index 0
varbindlist NULL
 

L’application doit appeler la fonction SnmpFreePdu pour libérer les ressources que la fonction SnmpCreatePdu alloue pour la nouvelle PDU.

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

SnmpFreePdu

SnmpSendMsg

Fonctions WinSNMP

Vue d’ensemble de l’API WinSNMP