SnmpOidCompare 函数 (winsnmp.h)

[SNMP 可用于“要求”部分中指定的操作系统。 它可能在后续版本中变更或不可用。 请改用 Windows 远程管理,这是 WS-Man 的 Microsoft 实现。]

WinSNMP SnmpOidCompare 函数按字典顺序比较两个 SNMP 对象标识符,最大长度为 maxlen 参数指定的长度。

语法

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

参数

[in] xOID

指向要比较的第一个 smiOID 对象标识符的指针。 对象标识符的长度可以为零。

[in] yOID

指向要比较的第二 个 smiOID 对象标识符的指针。 对象标识符的长度可以为零。

[in] maxlen

如果不等于零,则指定要比较的子元素数。 此参数必须小于 MAXOBJIDSIZE:128 个子标识符,即对象标识符中的最大组件数。 有关其他信息,请参阅以下“备注”部分。

[out] result

指向用于接收比较结果的整数变量的指针。 变量可以接收以下结果之一。

结果 含义
大于 0
xOID 大于 yOID
等于 0
xOID 等于 yOID
小于 0
xOID 小于 yOID
 

有关其他比较条件,请参阅以下“备注”部分。

返回值

如果函数成功,则返回值SNMPAPI_SUCCESS。

如果函数失败,则返回值SNMPAPI_FAILURE。 若要获取扩展的错误信息,请调用 SnmpGetLastError,并在其会话参数中指定 NULL 值。 SnmpGetLastError 函数可能会返回以下错误之一。

返回代码 说明
SNMPAPI_NOT_INITIALIZED
SnmpStartup 函数未成功完成。
SNMPAPI_ALLOC_ERROR
内存分配期间出错。
SNMPAPI_OID_INVALID
一个或两个 xOIDyOID 参数无效。
SNMPAPI_SIZE_INVALID
maxlen 参数无效。 参数大小大于 MAXOBJIDSIZE。
SNMPAPI_OTHER_ERROR
发生未知或未定义的错误。

注解

WinSNMP 应用程序可以调用 SnmpOidCompare 函数来确定两个对象标识符是否具有通用前缀。

如果 maxlen 参数不等于零且不大于 MAXOBJIDSIZE,则 maxlen 的值将设置要比较的子标识符数的上限。 SnmpOidCompare 函数比较的最大子化器数默认为最小的数字-maxlen 参数或 xOIDyOID 参数指向的 smiOID 结构之一的 len 成员。

如果 maxlen 参数等于零,则 SnmpOidCompare 函数比较的最大子标识符数默认为两个 smiOID 结构的 len 成员中较小的数字。

如果两个 smiOID 结构在字典上相等且发生下列情况之一,则 result 参数的值将指示 xOID 等于 yOID

  • SnmpOidCompare 比较子标识符 的最大 数目。
  • SnmpOidCompare 比较子标识符的最大数目,并且两个 smiOID 结构的 len 成员相等,但小于 maxlen 参数。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winsnmp.h
Library Wsnmp32.lib
DLL Wsnmp32.dll

另请参阅

WinSNMP 函数

WinSNMP API 概述

smiOID