Compartilhar via


Função SnmpOidCompare (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 WinSNMP SnmpOidCompare compara lexicograficamente dois identificadores de objeto SNMP, até o comprimento especificado pelo parâmetro maxlen .

Sintaxe

SNMPAPI_STATUS SNMPAPI_CALL SnmpOidCompare(
  [in]  smiLPCOID xOID,
  [in]  smiLPCOID yOID,
  [in]  smiUINT32 maxlen,
  [out] smiLPINT  result
);

Parâmetros

[in] xOID

Ponteiro para o primeiro identificador de objeto smiOID a ser comparado. O comprimento do identificador de objeto pode ser zero.

[in] yOID

Ponteiro para o segundo identificador de objeto smiOID a ser comparado. O comprimento do identificador de objeto pode ser zero.

[in] maxlen

Se não for igual a zero, especifica o número de subidentificados a serem comparados. Esse parâmetro deve ser menor que MAXOBJIDSIZE: 128 subidentifiers, o número máximo de componentes em um identificador de objeto. Para obter informações adicionais, consulte a seção Comentários a seguir.

[out] result

Ponteiro para uma variável de inteiro para receber o resultado da comparação. A variável pode receber um dos resultados a seguir.

Result Significado
Maior que 0
xOID é maior que yOID
Igual a 0
xOID é igual a yOID
Menor que 0
xOID é menor que yOID
 

Para obter condições de comparação adicionais, consulte a seção Comentários a seguir.

Retornar valor

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_ALLOC_ERROR
Ocorreu um erro durante a alocação de memória.
SNMPAPI_OID_INVALID
Um ou ambos os parâmetros xOID e yOID são inválidos.
SNMPAPI_SIZE_INVALID
O parâmetro maxlen é inválido. O tamanho do parâmetro é maior que MAXOBJIDSIZE.
SNMPAPI_OTHER_ERROR
Ocorreu um erro desconhecido ou indefinido.

Comentários

Um aplicativo WinSNMP pode chamar a função SnmpOidCompare para determinar se dois identificadores de objeto têm prefixos comuns.

Se o parâmetro maxlen não for igual a zero e não for maior que MAXOBJIDSIZE, o valor de maxlen definirá o limite superior para o número de subidentifiers a serem comparados. O número máximo de subidentifiers que a função SnmpOidCompare compara o padrão com o menor número: o parâmetro maxlen ou o membro len de uma das estruturas smiOID apontadas pelos parâmetros xOID e yOID .

Se o parâmetro maxlen for igual a zero, o número máximo de subidentifiers que a função SnmpOidCompare comparará usará como padrão o número menor dos membros len das duas estruturas smiOID .

O valor do parâmetro de resultado indicará que xOID será igual a yOID se as duas estruturas smiOID forem lexicograficamente iguais e uma das seguintes ocorrer:

  • SnmpOidCompare compara um número máximo de subidentifiers.
  • SnmpOidCompare compara o número máximo de subidentifiers e os membros len de ambas as estruturas smiOID são iguais, mas menores que o parâmetro maxlen .

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

Funções WinSNMP

Visão geral da API do WinSNMP

smiOID