Función SnmpRecvMsg (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 SnmpRecvMsg de WinSNMP recupera los resultados de una solicitud asincrónica completada enviada por una llamada a la función SnmpSendMsg , en forma de mensaje SNMP. La función SnmpRecvMsg también devuelve los datos de captura pendientes y las notificaciones registradas para una sesión de WinSNMP.
Sintaxis
SNMPAPI_STATUS SNMPAPI_CALL SnmpRecvMsg(
[in] HSNMP_SESSION session,
[out] LPHSNMP_ENTITY srcEntity,
[out] LPHSNMP_ENTITY dstEntity,
[out] LPHSNMP_CONTEXT context,
[out] LPHSNMP_PDU PDU
);
Parámetros
[in] session
Controla la sesión de WinSNMP.
[out] srcEntity
Puntero a una variable que recibe un identificador a la entidad que envía el mensaje. Tenga en cuenta que el parámetro srcEntity de la función SnmpRegister especifica un identificador para la entidad de administración que se registra para la notificación de captura.
[out] dstEntity
Puntero a una variable que recibe un identificador de la entidad que recibe el mensaje. Tenga en cuenta que el parámetro dstEntity de la función SnmpRegister especifica un identificador para la entidad de administración que envía capturas.
[out] context
Puntero a una variable que recibe un identificador del contexto, que es un conjunto de recursos de objeto administrados. La entidad especificada por el parámetro srcEntity emite el mensaje de este contexto.
[out] PDU
Puntero a una variable que recibe un identificador para el componente de unidad de datos de protocolo (PDU) del mensaje.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es SNMPAPI_SUCCESS y los parámetros de salida contienen los valores indicados en las descripciones de parámetros anteriores.
Si se produce un error en la función, el valor devuelto se SNMPAPI_FAILURE. Si se produce un error en la función con un código de error extendido que indica un error de capa de transporte de red, es decir, uno que comienza por SNMPAPI_TL_, los parámetros de salida también contienen los valores indicados anteriormente para permitir que la aplicación WinSNMP se recupere correctamente.
Para obtener información de error extendida, llame a SnmpGetLastError. La función SnmpGetLastError puede devolver uno de los siguientes errores de la capa de transporte de red o WinSNMP.
Código devuelto | Descripción |
---|---|
|
La función SnmpStartup no se completó correctamente. |
|
Error durante la asignación de memoria. |
|
El parámetro session no es válido. |
|
La sesión especificada no tiene ningún mensaje en su cola en este momento. |
|
No se inicializó la capa de transporte de red. |
|
La capa de transporte de red no admite el protocolo SNMP. |
|
Error en el subsistema de red. |
|
Error de recurso en la capa de transporte de red. |
|
La entidad especificada por el parámetro dstEntity no está disponible. |
|
La entidad especificada por el parámetro srcEntity no se inicializó. |
|
Una llamada de función de capa de transporte de red recibió un parámetro de entrada no válido. |
|
La PDU es demasiado grande para que la capa de transporte de red envíe o reciba. |
|
Error de capa de transporte de red no definida. |
|
Se produjo un error desconocido o no definido. |
Para obtener más información, consulte Errores de transporte de red.
Comentarios
La función SnmpCreateSession pasa un identificador de ventana de aplicación y un identificador de mensaje de notificación a la implementación de Microsoft WinSNMP. Cuando la ventana de la aplicación recibe el mensaje de notificación especificado por el parámetro wMsg , la aplicación WinSNMP debe llamar a la función SnmpRecvMsg con el identificador de sesión devuelto por SnmpCreateSession para recuperar una unidad de datos de protocolo entrante (PDU). Para obtener más información, vea Acerca de los mensajes SNMP.
La función SnmpRecvMsg crea una instancia de cuatro objetos y asigna sus recursos: dos identificadores de entidad, un identificador de contexto y un identificador PDU. El identificador del componente de lista de enlaces de variables del PDU devuelto no se crea una instancia hasta que la aplicación WinSNMP llama a la función SnmpGetPduData . Cuando ya no necesita los recursos SnmpRecvMsg , la aplicación WinSNMP debe liberar los recursos individuales mediante la función WinSNMP que corresponde al recurso. Para obtener más información, consulte SnmpFreePdu, SnmpFreeEntity y SnmpFreeContext.
Cuando la implementación recibe capturas de una entidad que funciona con el marco de la versión 1 de SNMP (SNMPv1), traduce las capturas al formato SNMP versión 2C (SNMPv2C). Por lo tanto, cuando SnmpRecvMsg entrega una captura, siempre está en el formato SNMPv2C. Para obtener más información, consulte Traducción de capturas de SNMPv1 a SNMPv2C y Tareas de programación winSNMP.
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 |