Compartilhar via


Função SnmpGetVb (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 SnmpGetVb para recuperar informações de uma lista de associações de variáveis. Essa função WinSNMP recupera um nome de variável e seu valor associado da entrada de associação de variável especificada pelo parâmetro index .

Sintaxe

SNMPAPI_STATUS SNMPAPI_CALL SnmpGetVb(
  [in]  HSNMP_VBL  vbl,
  [in]  smiUINT32  index,
  [out] smiLPOID   name,
  [out] smiLPVALUE value
);

Parâmetros

[in] vbl

Manipule para a lista de associações de variáveis a serem recuperadas.

[in] index

Especifica uma variável de inteiro longo sem sinal que identifica a entrada de associação de variável a ser recuperada. Essa variável contém a posição da entrada de associação de variável, dentro da lista de associações de variáveis.

Os valores válidos para esse parâmetro estão no intervalo de 1 a n, em que 1 indica a primeira entrada de associação de variável na lista de associações de variáveis e n é o número total de entradas na lista. Para obter informações adicionais, consulte a seção Comentários a seguir.

[out] name

Ponteiro para uma estrutura smiOID para receber o nome da variável da entrada de associação de variável.

[out] value

Ponteiro para uma estrutura smiVALUE para receber o valor associado à variável identificada pelo parâmetro name .

Se a função for bem-sucedida, o membro de sintaxe da estrutura apontada pelo parâmetro value poderá ser um dos seguintes tipos de dados de sintaxe. Para obter informações adicionais, consulte RFC 1902, "Estrutura de informações de gerenciamento para a versão 2 do Protocolo de Gerenciamento de Rede Simples (SNMPv2)."

Tipo de dados de sintaxe Significado
SNMP_SYNTAX_INT
Indica uma variável de inteiro com sinal de 32 bits.
SNMP_SYNTAX_OCTETS
Indica uma variável de cadeia de caracteres de octeto que são dados binários ou textuais.
SNMP_SYNTAX_NULL
Indica um valor NULL .
SNMP_SYNTAX_OID
Indica uma variável de identificador de objeto que é um nome atribuído com um máximo de 128 subidentifiers.
SNMP_SYNTAX_INT32
Indica uma variável de inteiro com sinal de 32 bits.
SNMP_SYNTAX_IPADDR
Indica uma variável de endereço da Internet de 32 bits. Se o formato de interceptação PDU SNMPv1 for usado para representar um endereço IPv6, esse valor será 0.0.0.0.
SNMP_SYNTAX_CNTR32
Indica uma variável de contador que aumenta até atingir um valor máximo de (2^32) – 1.
SNMP_SYNTAX_GAUGE32
Indica uma variável de medidor que é um inteiro não negativo que pode aumentar ou diminuir, mas nunca exceder um valor máximo.
SNMP_SYNTAX_TIMETICKS
Indica uma variável de contador que mede o tempo em centésimos de segundo, até atingir um valor máximo de (2^32) – 1. É um inteiro não negativo relativo a um evento de temporizador específico.
SNMP_SYNTAX_OPAQUE
Esse tipo fornece compatibilidade com versões anteriores e não deve ser usado para novos tipos de objeto. Ele dá suporte à capacidade de passar a sintaxe arbitrária de Notação de Sintaxe Abstrata Um (ASN.1).
SNMP_SYNTAX_CNTR64
Indica uma variável de contador que aumenta até atingir um valor máximo de (2^64) – 1.
SNMP_SYNTAX_UINT32
Indica uma variável de inteiro sem sinal de 32 bits.
SNMP_SYNTAX_NOSUCHOBJECT
Indica que o agente não dá suporte ao tipo de objeto que corresponde à variável.
SNMP_SYNTAX_NOSUCHINSTANCE
Indica que a instância do objeto não existe para a operação.
SNMP_SYNTAX_ENDOFMIBVIEW
Indica que o aplicativo WinSNMP está tentando fazer referência a um identificador de objeto que está além do final da árvore MIB compatível com o agente.

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. 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_INDEX_INVALID
O parâmetro index é inválido.
SNMPAPI_VBL_INVALID
O parâmetro vbl é inválido.
SNMPAPI_OTHER_ERROR
Ocorreu um erro desconhecido ou indefinido.

Comentários

Os últimos três tipos de sintaxe descrevem as condições de exceção na estrutura SNMP versão 2C (SNMPv2C).

A função SnmpGetVb retorna o nome da variável da entrada de associação de variável na estrutura apontada pelo parâmetro name . Ele retorna o valor associado da variável na estrutura apontada pelo parâmetro value .

Na entrada, a função SnmpGetVb ignora os membros das estruturas smiOID e smiVALUE apontadas pelos parâmetros de nome e valor , respectivamente. A implementação do Microsoft WinSNMP substitui os membros se a função for concluída com êxito.

Os valores válidos para um aplicativo WinSNMP a ser usado para o parâmetro de índice são os seguintes:

  • O valor retornado de uma chamada para a função SnmpCountVbl
  • O campo de índice de erro de uma PDU (unidade de dados de protocolo SNMP_PDU_RESPONSE) retornada por uma chamada para a função SnmpRecvMsg
O aplicativo WinSNMP deve chamar a função SnmpFreeDescriptor para liberar recursos alocados para o membro ptr da estrutura smiOID apontada pelo parâmetro name . O aplicativo também deve chamar a função SnmpFreeDescriptor para liberar recursos alocados para a estrutura smiVALUE apontada pelo parâmetro value nas condições a seguir. Se o membro do valor for um smiOCTETS ou uma estrutura smiOID , o aplicativo deverá chamar SnmpFreeDescriptor para liberar os recursos alocados para essas estruturas. Para obter informações adicionais, consulte Conceitos de Gerenciamento de Dados do 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

SnmpCountVbl

SnmpFreeDescriptor

SnmpRecvMsg

Funções WinSNMP

Visão geral da API do WinSNMP

smiOCTETS

smiOID

smiVALUE