Compartilhar via


Função SnmpEncodeMsg (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 implementação do Microsoft WinSNMP usa os parâmetros passados na função WinSNMP SnmpEncodeMsg para codificar uma mensagem SNMP. A implementação retorna a mensagem SNMP codificada para o aplicativo WinSNMP no buffer especificado pelo parâmetro msgBufDesc .

Sintaxe

SNMPAPI_STATUS SNMPAPI_CALL SnmpEncodeMsg(
  [in]  HSNMP_SESSION session,
  [in]  HSNMP_ENTITY  srcEntity,
  [in]  HSNMP_ENTITY  dstEntity,
  [in]  HSNMP_CONTEXT context,
  [in]  HSNMP_PDU     pdu,
  [out] smiLPOCTETS   msgBufDesc
);

Parâmetros

[in] session

Manipule para a sessão WinSNMP.

[in] srcEntity

Manipule para a entidade de gerenciamento que inicia a solicitação para codificar a mensagem SNMP.

[in] dstEntity

Identificador para a entidade de gerenciamento de destino.

[in] context

Manipule para o contexto (um conjunto de recursos de objeto gerenciado) que a entidade de gerenciamento de destino controla.

[in] pdu

Manipule para a PDU que contém a solicitação de operação SNMP.

[out] msgBufDesc

Ponteiro para uma estrutura smiOCTETS que recebe a mensagem SNMP codificada.

Retornar valor

Se a função for bem-sucedida, o valor retornado será o comprimento, em bytes, da mensagem SNMP codificada. Esse número também é o valor do membro len da estrutura smiOCTETS apontada pelo parâmetro msgBufDesc .

Se a função falhar, o valor retornado será SNMPAPI_FAILURE. Para obter informações adicionais, consulte a seção Comentários a seguir. Para obter informações de erro estendidas, chame SnmpGetLastError. 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_SESSION_INVALID
O parâmetro de sessão é inválido.
SNMPAPI_ENTITY_INVALID
Um ou ambos os parâmetros de entidade são inválidos.
SNMPAPI_CONTEXT_INVALID
O parâmetro de contexto é inválido.
SNMPAPI_PDU_INVALID
O parâmetro pdu é inválido.
SNMPAPI_OTHER_ERROR
Ocorreu um erro desconhecido ou indefinido.

Comentários

Os primeiros cinco parâmetros passados para a função SnmpEncodeMsg são os mesmos parâmetros passados para a função SnmpSendMsg .

O aplicativo WinSNMP deve chamar a função SnmpFreeDescriptor para liberar recursos alocados para o membro ptr da estrutura smiOCTETS . Essa é a estrutura apontada pelo parâmetro msgBufDesc . Para obter informações adicionais, consulte Conceitos de Gerenciamento de Dados WinSNMP.

Na entrada, a função SnmpEncodeMsg ignora os membros da estrutura apontada pelo parâmetro msgBufDesc . A implementação substituirá os membros da estrutura se a função for concluída com êxito.

A implementação verifica o formato dos cinco primeiros parâmetros de entrada. Se um dos parâmetros for inválido, SnmpEncodeMsg retornará SNMPAPI_FAILURE e SnmpGetLastError retornará um código de erro estendido.

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

SnmpDecodeMsg

SnmpFreeDescriptor

SnmpSendMsg

Funções WinSNMP

Visão geral da API do WinSNMP

smiOCTETS