Compartir a través de


Función SnmpOpen (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 SnmpOpen solicita a la implementación de Microsoft WinSNMP que abra una sesión para la aplicación WinSNMP. Esta función WinSNMP permite a la implementación asignar e inicializar memoria, recursos, estructuras de datos y mecanismos de comunicaciones. La función SnmpOpen devuelve un identificador a la nueva sesión de WinSNMP.

Nota Al desarrollar nuevas aplicaciones WinSNMP, se recomienda llamar a la función SnmpCreateSession para abrir una sesión de WinSNMP en lugar de llamar a la función SnmpOpen .
 

Sintaxis

HSNMP_SESSION SNMPAPI_CALL SnmpOpen(
  [in] HWND hWnd,
  [in] UINT wMsg
);

Parámetros

[in] hWnd

Controla una ventana de la aplicación WinSNMP para notificar cuándo se completa una solicitud asincrónica o cuando se produce una notificación de captura.

[in] wMsg

Especifica un entero sin signo que identifica el mensaje de notificación que se va a enviar a la ventana de la aplicación WinSNMP.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un identificador que identifica la sesión de WinSNMP que se abre la implementación para la aplicación que realiza la llamada.

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 especificando un valor NULL en su parámetro de sesión . La función SnmpGetLastError puede devolver uno de los siguientes errores.

Código devuelto Descripción
SNMPAPI_NOT_INITIALIZED
La función SnmpStartup no se completó correctamente.
SNMPAPI_ALLOC_ERROR
Error durante la asignación de memoria.
SNMPAPI_HWND_INVALID
El parámetro hWnd no es un identificador de ventana válido.
SNMPAPI_OTHER_ERROR
Se produjo un error desconocido o no definido.

Comentarios

La función SnmpOpen devuelve un identificador único para cada sesión de WinSNMP abierta dentro de la aplicación WinSNMP que llama. La aplicación debe usar el identificador de sesión que SnmpOpen devuelve en otras llamadas de función winSNMP para facilitar la asignación y desasignación de recursos mediante la implementación. Cuando la implementación asigna recursos a una sesión individual, realiza una liberación ordenada de los recursos en respuesta a una llamada a SnmpClose para la sesión.

La función SnmpOpen pasa al identificador de implementación en una ventana de aplicación y un identificador de mensaje de notificación. Si el componente wParam del mensaje de notificación especificado por el parámetro wMsg es igual a cero, la aplicación WinSNMP debe recuperar la unidad de datos de protocolo entrante (PDU). La aplicación lo hace llamando a la función SnmpRecvMsg con el identificador de sesión devuelto por SnmpOpen. Si el parámetro wParam del mensaje de notificación no es igual a cero, representa un código de error de WinSNMP. El código de error se aplica a la PDU identificada por el identificador de solicitud en el parámetro lParam del mensaje de notificación.

Una aplicación WinSNMP puede abrir varias sesiones de WinSNMP. Si una aplicación abre varias sesiones con el mismo identificador de ventana, se recomienda que la aplicación WinSNMP especifique un parámetro wMsg único para cada sesión.

Se recomienda que una aplicación WinSNMP llame a la función SnmpClose una vez para cada sesión que se abra la implementación como resultado de una llamada a la función SnmpOpen . Si una aplicación WinSNMP finaliza inesperadamente, debe llamar a SnmpCleanup antes de finalizar para permitir que la implementación desasigne todos los recursos. La implementación trata una llamada SnmpCleanup como si fuera una serie de llamadas SnmpClose , una llamada para cada sesión que se abre la implementación como resultado de una llamada a SnmpOpen.

Para obtener información sobre cómo abrir una sesión de WinSNMP y especificar el método utilizado para informar a la sesión de los mensajes SNMP disponibles y los eventos asincrónicos, vea SnmpCreateSession. Al llamar a SnmpCreateSession , puede especificar un mensaje de notificación de ventana o una función de SNMPAPI_CALLBACK para notificar a la sesión.

Para obtener más información, consulte Sesiones de 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

Consulte también

SNMPAPI_CALLBACK

SnmpCleanup

SnmpClose

SnmpCreateSession

SnmpRecvMsg

Funciones winSNMP

Introducción a la API winSNMP