snmpStrToOid 函数 (winsnmp.h)

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

WinSNMP SnmpStrToOid 函数将 SNMP 对象标识符的点状数字字符串格式(例如“1.2.3.4.5.6”)转换为其内部二进制表示形式。

语法

SNMPAPI_STATUS SNMPAPI_CALL SnmpStrToOid(
  [in]  LPCSTR   string,
  [out] smiLPOID dstOID
);

参数

[in] string

指向要转换的 以 null 结尾的对象标识符字符串的指针。

[out] dstOID

指向接收转换值的 smiOID 结构的指针。

返回值

如果函数成功,则返回值是转换后的对象标识符中的子元数。 此数字也是 dstOID 参数指向的 smiOID 结构的 len 成员的值。

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

返回代码 说明
SNMPAPI_NOT_INITIALIZED
SnmpStartup 函数未成功完成。
SNMPAPI_ALLOC_ERROR
内存分配期间出错。
SNMPAPI_OID_INVALID
字符串参数无效。 有关其他信息,请参阅以下“备注”部分。
SNMPAPI_OTHER_ERROR
发生未知或未定义错误。

注解

WinSNMP 应用程序必须调用 SnmpFreeDescriptor 函数,以释放为 dstOID 参数指向的 smiOID 结构的 ptr 成员分配的资源。 输入时, SnmpFreeDescriptor 会忽略此 smiOID 结构的成员。 如果函数成功完成,Microsoft WinSNMP 实现将覆盖 smiOID 成员。

如果字符串参数满足以下条件之一,SnmpStrToOid 函数将失败并返回SNMPAPI_OID_INVALID错误代码:

  • 不以 null 结尾。
  • 不是有效对象标识符的文本形式。
  • 长度不足;所有对象标识符必须具有两个子标识符。
  • 超过 MAXOBJIDSTRSIZE 1408 字节。
有关其他信息,请参阅 WinSNMP 数据管理概念释放 WinSNMP 描述符

要求

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

另请参阅

SnmpFreeDescriptor

WinSNMP 函数

WinSNMP API 概述

smiOID