Compartilhar via


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.

Nota Um aplicativo WinSNMP deve chamar a função SnmpCleanupEx para cada chamada bem-sucedida para SnmpStartupEx antes que o aplicativo seja encerrado.
 

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
SNMPAPI_ALLOC_ERROR
Ocorreu um erro durante a alocação de memória.
SNMPAPI_OTHER_ERROR
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

Confira também

SnmpClose

SnmpCreateSession

SnmpFreeContext

SnmpFreeDescriptor

SnmpFreeEntity

SnmpFreePdu

SnmpFreeVbl

SnmpStartupEx

Funções WinSNMP

Visão geral da API do WinSNMP