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 |
---|---|
|
A função SnmpStartup não foi concluída com êxito. |
|
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. |
|
O parâmetro hEntity é inválido. Esse parâmetro deve ser um identificador retornado por uma chamada anterior para a função SnmpStrToEntity . |
|
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.
-
Chame SnmpStrToEntity da seguinte maneira:
hAgent = SnmpStrToEntity (hSession, <addrString>);
-
Chame SnmpSetPort da seguinte maneira:
SnmpSetPort (hAgent, <nPort>);
-
Chame SnmpListen da seguinte maneira:
SnmpListen (hAgent, SNMPAPI_ON);
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 |