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 函数可能会返回以下错误之一。
返回代码 | 说明 |
---|---|
|
SnmpStartup 函数未成功完成。 |
|
内存分配期间出错。 |
|
size 参数无效。 此参数不能等于零;它必须指示 字符串 参数指向的缓冲区的大小。 |
|
srcOID 参数无效。 有关其他信息,请参阅以下“备注”部分。 |
|
输出缓冲区长度不足。 |
|
发生未知或未定义错误。 |
注解
建议 WinSNMP 应用程序使用 size 参数指定 MAXOBJIDSTRSIZE 长度 (1408 字节的字符串缓冲区) 。 这可确保输出缓冲区足够大,可以容纳转换后的字符串。 由于转换后的字符串通常小于 MAXOBJIDSTRSIZE,因此 WinSNMP 应用程序可以将转换后的字符串复制到较小的缓冲区。 然后,应用程序可以重复使用或释放为初始缓冲区分配的内存。 有关其他信息,请参阅 WinSNMP 数据管理概念。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winsnmp.h |
Library | Wsnmp32.lib |
DLL | Wsnmp32.dll |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈