SnmpStrToContext 函数 (winsnmp.h)

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

WinSNMP SnmpStrToContext 函数返回特定于 Microsoft WinSNMP 实现的 SNMP 上下文信息的句柄。 句柄是 WinSNMP 应用程序可以在调用 SnmpSendMsgSnmpRegister 函数时用作上下文参数的有效值。

语法

HSNMP_CONTEXT SNMPAPI_CALL SnmpStrToContext(
  [in] HSNMP_SESSION session,
  [in] smiLPCOCTETS  string
);

参数

[in] session

WinSNMP 会话的句柄。

[in] string

指向包含要解释的字符串 的 smiOCTETS 结构的指针。 字符串可以标识托管对象的集合,也可以是社区字符串。

实体和上下文转换模式的当前设置决定了 SnmpStrToContext 解释输入字符串结构的方式,如下表所示。

实体/上下文转换模式 含义
SNMPAPI_TRANSLATED
实现将 字符串 参数解释为托管对象集合的用户友好名称。 实现使用实现的数据库将名称转换为其 SNMPv1 或 SNMPv2C 组件。
SNMPAPI_UNTRANSLATED_V1
实现将 字符串 参数解释为文本 SNMP 社区字符串。
SNMPAPI_UNTRANSLATED_V2
实现将 字符串 参数解释为文本 SNMP 社区字符串。

返回值

如果函数成功,则返回值是相关上下文的句柄。

如果函数失败,则返回值SNMPAPI_FAILURE。 若要获取扩展错误信息,请调用 SnmpGetLastErrorSnmpGetLastError 函数可能会返回以下错误之一。

返回代码 说明
SNMPAPI_NOT_INITIALIZED
SnmpStartup 函数未成功完成。
SNMPAPI_ALLOC_ERROR
内存分配期间出错。
SNMPAPI_SESSION_INVALID
会话参数无效。
SNMPAPI_CONTEXT_INVALID
字符串参数格式无效。 例如,字符串参数指向的 smiOCTETS 结构的 len 成员或 ptr 成员为 NULL
SNMPAPI_CONTEXT_UNKNOWN
字符串参数中引用的值不存在。
SNMPAPI_OTHER_ERROR
发生未知或未定义错误。

注解

实体和上下文转换模式的当前设置确定 SnmpStrToContext 解释输入字符串结构的方式。 有关其他信息,请参阅 设置实体和上下文转换模式

WinSNMP 应用程序必须调用 SnmpFreeContext 函数,以释放 SnmpStrToContext 函数分配的上下文句柄。 有关发布资源的其他信息,请参阅 WinSNMP 数据管理概念

WinSNMP 应用程序应释放与字符串参数指向的 smiOCTETS 结构的 ptr 成员关联的内存。 这是因为应用程序定义和分配资源。 例如,如果应用程序通过调用 GlobalAlloc 函数分配了资源,它应使用 GlobalFree 函数解除分配资源。 有关其他信息,请参阅 释放 WinSNMP 描述符

要求

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

另请参阅

SnmpFreeContext

SnmpFreeDescriptor

SnmpRegister

SnmpSendMsg

WinSNMP 函数

WinSNMP API 概述

smiOCTETS