Fonction SnmpGetPduData (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. Au lieu de cela, utilisez La gestion à distance Windows, qui est l’implémentation Microsoft de WS-Man.]
La fonction SnmpGetPduData WinSNMP retourne les champs de données sélectionnés à partir d’une unité de données de protocole SNMP (PDU) spécifiée.
Syntaxe
SNMPAPI_STATUS SNMPAPI_CALL SnmpGetPduData(
[in] HSNMP_PDU PDU,
[out] smiLPINT PDU_type,
[out] smiLPINT32 request_id,
[out] smiLPINT error_status,
[out] smiLPINT error_index,
[out] LPHSNMP_VBL varbindlist
);
Paramètres
[in] PDU
Gérez le PDU SNMP.
[out] PDU_type
Pointeur vers une variable qui reçoit le champ PDU_type du PDU spécifié. Ce paramètre peut être NULL ou l’une des valeurs suivantes.
[out] request_id
Pointeur vers une variable qui reçoit le champ request_id du PDU spécifié. Ce paramètre peut être NULL.
[out] error_status
Pointeur vers une variable qui reçoit le champ error_status du PDU spécifié. Si le paramètre PDU_type est égal à SNMP_PDU_GETBULK, ce paramètre reçoit la valeur du champ non_repeaters de la PDU.
Ce paramètre peut être NULL ou l’une des valeurs suivantes. Les six premières erreurs sont communes aux frameworks SNMP version 1 (SNMPv1) et SNMP version 2C (SNMPv2C). Les erreurs restantes sont disponibles sous SNMPv2C uniquement.
[out] error_index
Pointeur vers une variable qui reçoit le champ error_index du PDU spécifié.
Si le paramètre PDU_type est égal à SNMP_PDU_GETBULK, ce paramètre reçoit la valeur du champ max_repetitions du PDU spécifié. Ce paramètre peut être NULL.
[out] varbindlist
Pointeur vers une variable qui reçoit un handle vers le champ de liste des liaisons de variables du PDU spécifié. Ce paramètre peut être NULL. Pour plus d’informations, consultez la section Remarques suivante.
Valeur retournée
Si la fonction réussit, la valeur de retour est SNMPAPI_SUCCESS.
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 |
---|---|
|
La fonction SnmpStartup ne s’est pas terminée correctement. |
|
Une erreur s’est produite lors de l’allocation de mémoire. |
|
Tous les paramètres de sortie ont la valeur NULL. L’opération SNMP n’a pas été effectuée. |
|
Le type PDU n’est pas valide. |
|
Une erreur inconnue ou non définie s’est produite. |
Remarques
Tous les paramètres de la fonction SnmpGetPduData sont requis. Toutefois, tous les paramètres, à l’exception du paramètre PDU , peuvent avoir la valeur NULL. Dans les paramètres que l’application transmet comme NULL, la fonction SnmpGetPduData ne retourne pas de valeur.
La fonction SnmpGetPduData retourne toujours un handle à un nouvel objet de liste de liaisons de variable si le paramètre varbindlist n’est pas NULL. En outre, si le paramètre PDU spécifie une nouvelle PDU, la fonction attache également un handle à la nouvelle PDU.
Lorsqu’une application appelle SnmpGetPduData avec un paramètre varbindlist qui n’est pas NULL, mais que le paramètre PDU spécifie un PDU existant, la fonction retourne un handle à une nouvelle liste de liaisons de variables en double. L’appel de fonction ne perturbe pas le handle attaché à la PDU existante. Un PDU existant est celui qu’une application crée avec un appel à la fonction SnmpCreatePdu , ou celui que l’application reçoit et lit ensuite à l’aide d’un appel à SnmpGetPduData.
Lorsqu’une application crée une PDU avec SnmpCreatePdu, ou après que l’application a lu un PDU à l’aide de SnmpGetPduData, l’implémentation de Microsoft WinSNMP s’attend à ce que l’application « connaisse » les valeurs des champs PDU. Si une application lit une PDU une deuxième fois avec SnmpGetPduData, l’appel génère une copie de la liste des liaisons de variables de la PDU spécifiée. Ce type d’appel à SnmpGetPduData duplique également le handle dans le PDU.
Configuration requise
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 |