Compartilhar via


Função SnmpSetPort (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.]

Um aplicativo WinSNMP chama a função SnmpSetPort para alterar a porta atribuída a uma entidade de destino. A função SnmpSetPort é um elemento da API WinSNMP, versão 2.0.

Sintaxe

SNMPAPI_STATUS SNMPAPI_CALL SnmpSetPort(
  [in] HSNMP_ENTITY hEntity,
  [in] UINT         nPort
);

Parâmetros

[in] hEntity

Manipule para uma entidade de destino WinSNMP. Esse parâmetro pode especificar o identificador para uma entidade que atua na função de um aplicativo de agente SNMP como resultado de uma chamada para a função SnmpListen . Para obter mais informações, consulte a seção Comentários a seguir.

[in] nPort

Especifica um inteiro sem sinal que identifica a nova atribuição de porta para a entidade de destino. Se você especificar um endereço local ocupado ou se especificar um endereço remoto indisponível, uma chamada para a função SnmpSetPort falhará.

Valor retornado

Se a função for bem-sucedida, o valor retornado será SNMPAPI_SUCCESS.

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_OPERATION_INVALID
A entidade especificada pelo parâmetro hEntity já está funcionando em uma função de agente como resultado de uma chamada para a função SnmpListen . Para obter mais informações, consulte a seção Comentários a seguir.
SNMPAPI_ENTITY_INVALID
O parâmetro hEntity é inválido. Esse parâmetro deve ser um identificador retornado por uma chamada anterior para a função SnmpStrToEntity .
SNMPAPI_OTHER_ERROR
Ocorreu um erro desconhecido ou indefinido.

Comentários

A implementação do Microsoft WinSNMP atribui uma porta a cada entidade de gerenciamento como resultado da chamada de um aplicativo WinSNMP para a função SnmpStrToEntity . Se o modo SNMPAPI_UNTRANSLATED estiver em vigor quando a implementação criar uma entidade, a implementação normalmente atribuirá a porta de solicitação SNMP padrão para a respectiva família de protocolos à entidade; por exemplo, UDP 161 ou IPX 36879. Se o modo SNMPAPI_TRANSLATED estiver em vigor, a implementação atribuirá a porta especificada para a entidade no banco de dados WinSNMP. Para recuperar a entidade atual e o modo de tradução de contexto em vigor para a implementação, um aplicativo pode chamar a função SnmpGetTranslateMode . Para obter mais informações, consulte Configurando o modo de tradução de entidade e contexto e o banco de dados WinSNMP.

Uma chamada para a função SnmpSetPort falhará se a entidade especificada pelo parâmetro hEntity estiver funcionando atualmente em uma função de agente. Isso ocorre porque a entidade já foi atribuída a uma porta diferente daquela especificada pelo parâmetro nPort . Para garantir a atribuição de um aplicativo de agente a uma porta específica, um aplicativo WinSNMP pode executar as etapas a seguir.

  1. Chame SnmpStrToEntity da seguinte maneira:

    hAgent = SnmpStrToEntity (hSession, <addrString>);

  2. Chame SnmpSetPort da seguinte maneira:

    SnmpSetPort (hAgent, <nPort>);

  3. Chame SnmpListen da seguinte maneira:

    SnmpListen (hAgent, SNMPAPI_ON);

em <que addrString> contém a representação de cadeia de caracteres de um endereço IP ou um endereço IPX, e <nPort> contém a nova atribuição de porta para o aplicativo do agente.

Observe que um endereço IPX contém um número de rede que consiste em oito dígitos hexadecimais (preenchidos com zero, se necessário); um separador (":", "." ou " – "); e um número de nó que consiste em 12 dígitos hexadecimais (preenchidos com zero, se necessário)— por exemplo, 00000001:00081A0D01C2. Para obter mais informações, consulte Suporte para cadeias de caracteres de endereço IPX no WinSNMP.

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

SnmpGetTranslateMode

SnmpListen

SnmpStrToEntity

Funções WinSNMP

Visão geral da API do WinSNMP