Compartilhar via


Função SnmpOpen (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 SnmpOpen solicita que a implementação do Microsoft WinSNMP abra uma sessão para o aplicativo WinSNMP. Essa função WinSNMP permite que a implementação aloque e inicialize memória, recursos, estruturas de dados e mecanismos de comunicação. A função SnmpOpen retorna um identificador para a nova sessão WinSNMP.

Nota Ao desenvolver novos aplicativos WinSNMP, é recomendável chamar a função SnmpCreateSession para abrir uma sessão WinSNMP em vez de chamar a função SnmpOpen .
 

Sintaxe

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

Parâmetros

[in] hWnd

Manipule para uma janela do aplicativo WinSNMP para notificar quando uma solicitação assíncrona for concluída ou quando ocorrer uma notificação de interceptação.

[in] wMsg

Especifica um inteiro sem sinal que identifica a mensagem de notificação a ser enviada para a janela do aplicativo WinSNMP.

Retornar valor

Se a função for bem-sucedida, o valor retornado será um identificador que identifica a sessão WinSNMP que a implementação abre para o aplicativo de chamada.

Se a função falhar, o valor retornado será SNMPAPI_FAILURE. 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_NOT_INITIALIZED
A função SnmpStartup não foi concluída com êxito.
SNMPAPI_ALLOC_ERROR
Ocorreu um erro durante a alocação de memória.
SNMPAPI_HWND_INVALID
O parâmetro hWnd não é um identificador de janela válido.
SNMPAPI_OTHER_ERROR
Ocorreu um erro desconhecido ou indefinido.

Comentários

A função SnmpOpen retorna um identificador exclusivo para cada sessão WinSNMP aberta dentro do aplicativo WinSNMP de chamada. O aplicativo deve usar o identificador de sessão que SnmpOpen retorna em outras chamadas de função WinSNMP para facilitar a alocação e a desalocação de recursos pela implementação. Quando a implementação aloca recursos para uma sessão individual, ela executa uma liberação ordenada de recursos em resposta a uma chamada para SnmpClose para a sessão.

A função SnmpOpen passa para a implementação o identificador para uma janela do aplicativo e um identificador de mensagem de notificação. Se o componente wParam da mensagem de notificação especificada pelo parâmetro wMsg for igual a zero, o aplicativo WinSNMP deverá recuperar a PDU (unidade de dados de protocolo de entrada). O aplicativo faz isso chamando a função SnmpRecvMsg com o identificador de sessão retornado por SnmpOpen. Se o parâmetro wParam da mensagem de notificação não for igual a zero, ele representará um código de erro WinSNMP. O código de erro se aplica à PDU identificada pelo identificador de solicitação no parâmetro lParam da mensagem de notificação.

Um aplicativo WinSNMP pode abrir várias sessões WinSNMP. Se um aplicativo abrir várias sessões usando o mesmo identificador de janela, é recomendável que o aplicativo WinSNMP especifique um parâmetro wMsg exclusivo para cada sessão.

É recomendável que um aplicativo WinSNMP chame a função SnmpClose uma vez para cada sessão que a implementação abre como resultado de uma chamada para a função SnmpOpen . Se um aplicativo WinSNMP for encerrado inesperadamente, ele deverá chamar SnmpCleanup antes de ser encerrado para permitir que a implementação desaloque todos os recursos. A implementação trata uma chamada SnmpCleanup como se fosse uma série de chamadas SnmpClose , uma chamada para cada sessão que a implementação abre como resultado de uma chamada para SnmpOpen.

Para obter informações sobre como abrir uma sessão WinSNMP e especificar o método usado para informar a sessão de mensagens SNMP disponíveis e eventos assíncronos, consulte SnmpCreateSession. Ao chamar SnmpCreateSession , você pode especificar uma mensagem de notificação de janela ou uma função SNMPAPI_CALLBACK para notificar a sessão.

Para obter mais informações, consulte Sessões WinSNMP.

Requisitos

Requisito Valor
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

SNMPAPI_CALLBACK

SnmpCleanup

SnmpClose

SnmpCreateSession

SnmpRecvMsg

Funções WinSNMP

Visão geral da API do WinSNMP