Función SnmpGetPduData (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 SnmpGetPduData de WinSNMP devuelve campos de datos seleccionados de una unidad de datos del protocolo SNMP (PDU) especificada.
Sintaxis
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
);
Parámetros
[in] PDU
Identificador de PDU snmp.
[out] PDU_type
Puntero a una variable que recibe el campo PDU_type del PDU especificado. Este parámetro puede ser NULL o uno de los valores siguientes.
[out] request_id
Puntero a una variable que recibe el campo request_id del PDU especificado. Este parámetro puede ser NULL.
[out] error_status
Puntero a una variable que recibe el campo error_status del PDU especificado. Si el parámetro PDU_type es igual a SNMP_PDU_GETBULK, este parámetro recibe el valor del campo non_repeaters del PDU.
Este parámetro puede ser NULL o uno de los valores siguientes. Los seis primeros errores son comunes a los marcos snmp versión 1 (SNMPv1) y SNMP versión 2C (SNMPv2C). Los errores restantes solo están disponibles en SNMPv2C.
[out] error_index
Puntero a una variable que recibe el campo error_index del PDU especificado.
Si el parámetro PDU_type es igual a SNMP_PDU_GETBULK, este parámetro recibe el valor del campo max_repetitions del PDU especificado. Este parámetro puede ser NULL.
[out] varbindlist
Puntero a una variable que recibe un identificador para el campo de lista de enlaces de variables del PDU especificado. Este parámetro puede ser NULL. Para obtener más información, vea la siguiente sección Comentarios.
Valor devuelto
Si la función se realiza correctamente, se SNMPAPI_SUCCESS el valor devuelto.
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 |
---|---|
|
La función SnmpStartup no se completó correctamente. |
|
Error durante la asignación de memoria. |
|
Todos los parámetros de salida son NULL. No se realizó la operación SNMP. |
|
El tipo PDU no es válido. |
|
Se produjo un error desconocido o no definido. |
Comentarios
Se requieren todos los parámetros de la función SnmpGetPduData . Sin embargo, todos los parámetros, excepto el parámetro PDU , pueden ser NULL. En los parámetros que la aplicación pasa como NULL, la función SnmpGetPduData no devuelve un valor.
La función SnmpGetPduData siempre devuelve un identificador a un nuevo objeto de lista de enlaces de variables si el parámetro varbindlist no es NULL. Además, si el parámetro PDU especifica una nueva PDU, la función también adjunta un identificador a la nueva PDU.
Cuando una aplicación llama a SnmpGetPduData con un parámetro varbindlist que no es NULL, pero el parámetro PDU especifica una PDU existente, la función devuelve un identificador a una nueva lista de enlaces de variables duplicadas. La llamada de función no altera el controlador asociado a la PDU existente. Una PDU existente es aquella que crea una aplicación con una llamada a la función SnmpCreatePdu , o una que recibe la aplicación y luego lee mediante una llamada a SnmpGetPduData.
Cuando una aplicación crea un PDU con SnmpCreatePdu o después de que la aplicación lea un PDU mediante SnmpGetPduData, la implementación de Microsoft WinSNMP espera que la aplicación "conozca" los valores de los campos PDU. Si una aplicación lee un PDU una segunda vez con SnmpGetPduData, la llamada da como resultado una copia de la lista de enlaces de variables de la PDU especificada. Este tipo de llamada a SnmpGetPduData también duplica el identificador en el PDU.
Requisitos
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 |