snmpOidToStr 函数 (winsnmp.h)

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

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

语法

SNMPAPI_STATUS SNMPAPI_CALL SnmpOidToStr(
  [in]  smiLPCOID srcOID,
  [in]  smiUINT32 size,
  [out] LPSTR     string
);

参数

[in] srcOID

指向 smiOID 结构的指针,其中包含要转换的对象标识符。

[in] size

指定 字符串 参数指示的缓冲区的大小(以字节为单位)。 有关更多信息,请参见下面的“备注”部分。

[out] string

指向缓冲区的指针,用于接收指定 SNMP 管理实体的转换后的字符串对象标识符。

返回值

如果函数成功,则返回值是 WinSNMP 应用程序写入字符串参数的 字符串 的长度(以字节为单位)。 返回值包括 null 终止字节。 此值可能小于或等于 size 参数的值,但不能大于该值。

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

返回代码 说明
SNMPAPI_NOT_INITIALIZED
SnmpStartup 函数未成功完成。
SNMPAPI_ALLOC_ERROR
内存分配期间出错。
SNMPAPI_SIZE_INVALID
size 参数无效。 此参数不能等于零;它必须指示 字符串 参数指向的缓冲区的大小。
SNMPAPI_OID_INVALID
srcOID 参数无效。 有关其他信息,请参阅以下“备注”部分。
SNMPAPI_OUTPUT_TRUNCATED
输出缓冲区长度不足。
SNMPAPI_OTHER_ERROR
发生未知或未定义错误。

注解

建议 WinSNMP 应用程序使用 size 参数指定 MAXOBJIDSTRSIZE 长度 (1408 字节的字符串缓冲区) 。 这可确保输出缓冲区足够大,可以容纳转换后的字符串。 由于转换后的字符串通常小于 MAXOBJIDSTRSIZE,因此 WinSNMP 应用程序可以将转换后的字符串复制到较小的缓冲区。 然后,应用程序可以重复使用或释放为初始缓冲区分配的内存。 有关其他信息,请参阅 WinSNMP 数据管理概念

要求

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

另请参阅

SnmpStrToOid

WinSNMP 函数

WinSNMP API 概述

smiOID