Funzione SnmpCleanupEx (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 SnmpCleanupEx esegue la pulizia quando non sono presenti chiamate con esito positivo a SnmpStartup o SnmpStartupEx all'interno di un'applicazione Windows SNMP (WinSNMP). In caso contrario, viene decretato un conteggio di riferimenti interni che indica il numero corrente di chiamate con esito positivo a SnmpStartupEx .
Questa funzione deve essere usata invece di SnmpCleanup se è installato Windows Server 2003 con Service Pack 1 (SP1) o versioni successive. SnmpCleanupEx abilita il supporto per più moduli software indipendenti che usano WinSNMP all'interno della stessa applicazione.
Sintassi
SNMPAPI_STATUS SNMPAPI_CALL SnmpCleanupEx();
Valore restituito
Se la funzione ha esito positivo, il valore restituito è SNMPAPI_SUCCESS. Fino a quando l'applicazione WinSNMP richiama correttamente la funzione SnmpStartupEx corrispondente e non sono presenti chiamate di esito positivo aggiuntive a SnmpStartup o SnmpStartupEx, qualsiasi altra chiamata a una funzione WinSNMP all'interno della stessa applicazione restituisce SNMPAPI_FAILURE, con un codice di errore esteso di SNMPAPI_NOT_INITIALIZED.
Se la funzione ha esito negativo, il valore restituito è SNMPAPI_FAILURE, ma l'applicazione WinSNMP non deve ripetere la chiamata a SnmpCleanupEx. 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 |
---|---|
|
Errore durante l'allocazione della memoria. |
|
La funzione SnmpStartupEx non è stata completata correttamente o si è verificato un errore sconosciuto o non definito. |
Commenti
Prima che l'applicazione WinSNMP chiami SnmpCleanupEx, deve chiamare la funzione SnmpClose una volta per ogni sessione in cui viene aperta l'implementazione come risultato di una chiamata alla funzione SnmpCreateSession .
Quando un'applicazione WinSNMP chiama la funzione SnmpCleanupEx, l'implementazione dealloca tutte le risorse allocate all'applicazione se non sono presenti chiamate in sospeso a SnmpStartup o SnmpStartupEx. È tuttavia consigliabile che un'applicazione WinSNMP libera le risorse specifiche che l'implementazione alloca con la funzione WinSNMP corrispondente alla risorsa. Per altre informazioni sulla liberazione di singole risorse, vedere SnmpFreeEntity, SnmpFreeVbl, SnmpFreeDescriptor, SnmpFreeContext e SnmpFreePdu.
Se un'applicazione WinSNMP deve eseguire un'uscita di emergenza e chiama SnmpCleanupEx senza liberare singole risorse e senza chiamare SnmpClose per ogni sessione aperta, l'implementazione dealloca tutte le risorse allocate all'applicazione WinSNMP. Tuttavia, per abilitare questa funzionalità nell'implementazione, l'applicazione deve comunque chiamare SnmpCleanupEx.
SnmpCleanupEx non deve essere chiamato quando la DLL dell'applicazione è in fase di scaricamento.
Requisiti
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 |