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
指向用于接收比较结果的整数变量的指针。 变量可以接收以下结果之一。
结果 | 含义 |
---|---|
|
xOID 大于 yOID |
|
xOID 等于 yOID |
|
xOID 小于 yOID |
有关其他比较条件,请参阅以下“备注”部分。
返回值
如果函数成功,则返回值SNMPAPI_SUCCESS。
如果函数失败,则返回值SNMPAPI_FAILURE。 若要获取扩展的错误信息,请调用 SnmpGetLastError,并在其会话参数中指定 NULL 值。 SnmpGetLastError 函数可能会返回以下错误之一。
返回代码 | 说明 |
---|---|
|
SnmpStartup 函数未成功完成。 |
|
内存分配期间出错。 |
|
一个或两个 xOID 和 yOID 参数无效。 |
|
maxlen 参数无效。 参数大小大于 MAXOBJIDSIZE。 |
|
发生未知或未定义的错误。 |
注解
WinSNMP 应用程序可以调用 SnmpOidCompare 函数来确定两个对象标识符是否具有通用前缀。
如果 maxlen 参数不等于零且不大于 MAXOBJIDSIZE,则 maxlen 的值将设置要比较的子标识符数的上限。 SnmpOidCompare 函数比较的最大子化器数默认为最小的数字-maxlen 参数或 xOID 和 yOID 参数指向的 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 |