Função SnmpCleanupEx (winsnmp.h)
[O SNMP está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. Em vez disso, use o Gerenciamento Remoto do Windows, que é a implementação da Microsoft do WS-Man.]
A função SnmpCleanupEx executa a limpeza quando não há chamadas bem-sucedidas pendentes para SnmpStartup ou SnmpStartupEx em um aplicativo WinSNMP (Windows SNMP). Caso contrário, uma contagem de referência interna que indica o número atual de chamadas bem-sucedidas pendentes para SnmpStartupEx será decrementada.
Essa função deve ser usada em vez de SnmpCleanup se o Windows Server 2003 com Service Pack 1 (SP1) ou posterior estiver instalado. O SnmpCleanupEx permite suporte para vários módulos de software independentes que usam WinSNMP no mesmo aplicativo.
Sintaxe
SNMPAPI_STATUS SNMPAPI_CALL SnmpCleanupEx();
Valor retornado
Se a função for bem-sucedida, o valor retornado será SNMPAPI_SUCCESS. Até que o aplicativo WinSNMP lembre com êxito a função SnmpStartupEx correspondente e não haja chamadas de sucesso pendentes adicionais para SnmpStartup ou SnmpStartupEx, qualquer outra chamada para uma função WinSNMP dentro do mesmo aplicativo retornará SNMPAPI_FAILURE, com um código de erro estendido de SNMPAPI_NOT_INITIALIZED.
Se a função falhar, o valor retornado será SNMPAPI_FAILURE, mas o aplicativo WinSNMP não precisará repetir a chamada para SnmpCleanupEx. Para obter informações de erro estendidas, chame SnmpGetLastError especificando um valor NULL em seu parâmetro de sessão . A função SnmpGetLastError pode retornar um dos erros a seguir.
Código de retorno | Descrição |
---|---|
|
Ocorreu um erro durante a alocação de memória. |
|
A função SnmpStartupEx não foi concluída com êxito ou ocorreu um erro desconhecido ou indefinido. |
Comentários
Antes que o aplicativo WinSNMP chame SnmpCleanupEx, ele deve chamar a função SnmpClose uma vez para cada sessão que a implementação abre como resultado de uma chamada para a função SnmpCreateSession .
Quando um aplicativo WinSNMP chama a função SnmpCleanupEx , a implementação desaloca todos os recursos alocados para o aplicativo se também não houver chamadas bem-sucedidas pendentes para SnmpStartup ou SnmpStartupEx. No entanto, é recomendável que um aplicativo WinSNMP libere os recursos específicos que a implementação aloca para ele com a função WinSNMP que corresponde ao recurso. Para obter informações adicionais sobre como liberar recursos individuais, consulte SnmpFreeEntity, SnmpFreeVbl, SnmpFreeDescriptor, SnmpFreeContext e SnmpFreePdu.
Se um aplicativo WinSNMP precisar executar uma saída de emergência e chamar SnmpCleanupEx sem liberar recursos individuais e sem chamar SnmpClose para cada sessão aberta, a implementação desalocará todos os recursos alocados para o aplicativo WinSNMP. No entanto, para habilitar essa funcionalidade na implementação, o aplicativo ainda deve chamar SnmpCleanupEx.
SnmpCleanupEx não deve ser chamado quando a DLL do aplicativo está em processo de descarregamento.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winsnmp.h |
Biblioteca | Wsnmp32.lib |
DLL | Wsnmp32.dll |