Condividi tramite


Funzione SnmpOpen (winsnmp.h)

[SNMP è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. Usare invece Gestione remota Windows, ovvero l'implementazione Microsoft di WS-Man.

La funzione SnmpOpen richiede all'implementazione di Microsoft WinSNMP di aprire una sessione per l'applicazione WinSNMP. Questa funzione WinSNMP consente all'implementazione di allocare e inizializzare memoria, risorse, strutture di dati e meccanismi di comunicazione. La funzione SnmpOpen restituisce un handle alla nuova sessione WinSNMP.

Nota Quando si sviluppano nuove applicazioni WinSNMP, è consigliabile chiamare la funzione SnmpCreateSession per aprire una sessione WinSNMP anziché chiamare la funzione SnmpOpen .
 

Sintassi

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

Parametri

[in] hWnd

Gestire in una finestra dell'applicazione WinSNMP per notificare quando viene completata una richiesta asincrona o quando si verifica una notifica trap.

[in] wMsg

Specifica un intero senza segno che identifica il messaggio di notifica da inviare alla finestra dell'applicazione WinSNMP.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un handle che identifica la sessione WinSNMP aperta dall'implementazione per l'applicazione chiamante.

Se la funzione ha esito negativo, il valore restituito viene SNMPAPI_FAILURE. Per ottenere informazioni sull'errore estese, chiamare SnmpGetLastError specificando un valore NULL nel relativo parametro di sessione . La funzione SnmpGetLastError può restituire uno degli errori seguenti.

Codice restituito Descrizione
SNMPAPI_NOT_INITIALIZED
La funzione SnmpStartup non è stata completata correttamente.
SNMPAPI_ALLOC_ERROR
Errore durante l'allocazione della memoria.
SNMPAPI_HWND_INVALID
Il parametro hWnd non è un handle di finestra valido.
SNMPAPI_OTHER_ERROR
Si è verificato un errore sconosciuto o non definito.

Commenti

La funzione SnmpOpen restituisce un handle univoco per ogni sessione WinSNMP aperta all'interno dell'applicazione WinSNMP chiamante. L'applicazione deve usare l'handle di sessione restituito da SnmpOpen in altre chiamate di funzione WinSNMP per facilitare l'allocazione e la deallocazione delle risorse dall'implementazione. Quando l'implementazione alloca le risorse a una singola sessione, esegue un rilascio ordinato delle risorse in risposta a una chiamata a SnmpClose per la sessione.

La funzione SnmpOpen passa all'implementazione l'handle a una finestra dell'applicazione e a un identificatore di messaggio di notifica. Se il componente wParam del messaggio di notifica specificato dal parametro wMsg è uguale a zero, l'applicazione WinSNMP deve recuperare l'unità dati del protocollo in ingresso (PDU). L'applicazione esegue questa operazione chiamando la funzione SnmpRecvMsg con l'handle di sessione restituito da SnmpOpen. Se il parametro wParam del messaggio di notifica non è uguale a zero, rappresenta un codice di errore WinSNMP. Il codice di errore si applica al PDU identificato dall'identificatore della richiesta nel parametro lParam del messaggio di notifica.

Un'applicazione WinSNMP può aprire più sessioni WinSNMP. Se un'applicazione apre più sessioni usando lo stesso handle di finestra, è consigliabile che l'applicazione WinSNMP specifichi un parametro wMsg univoco per ogni sessione.

È consigliabile che un'applicazione WinSNMP chiami la funzione SnmpClose una volta per ogni sessione aperta dall'implementazione in seguito a una chiamata alla funzione SnmpOpen . Se un'applicazione WinSNMP termina in modo imprevisto, deve chiamare SnmpCleanup prima che termini per consentire all'implementazione di deallocare tutte le risorse. L'implementazione considera una chiamata SnmpCleanup come se fosse una serie di chiamate SnmpClose , una chiamata per ogni sessione che l'implementazione viene aperta a seguito di una chiamata a SnmpOpen.

Per informazioni sull'apertura di una sessione WinSNMP e sulla specifica del metodo usato per informare la sessione dei messaggi SNMP disponibili ed eventi asincroni, vedere SnmpCreateSession. Quando si chiama SnmpCreateSession , è possibile specificare un messaggio di notifica della finestra o una funzione SNMPAPI_CALLBACK per notificare la sessione.

Per altre informazioni, vedere Sessioni WinSNMP.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winsnmp.h
Libreria Wsnmp32.lib
DLL Wsnmp32.dll

Vedi anche

SNMPAPI_CALLBACK

SnmpCleanup

SnmpClose

SnmpCreateSession

SnmpRecvMsg

Funzioni WinSNMP

Panoramica dell'API WinSNMP