snmpStartup 函数 (winsnmp.h)

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

SnmpStartup 函数通知 Microsoft WinSNMP 实现 WinSNMP 应用程序需要实现的服务。 WinSNMP SnmpStartup 函数使实现能够初始化并将 Windows SNMP 应用程序编程接口的版本 (WinSNMP API) 、实现支持的 SNMP 通信级别以及实现的默认转换和重新传输模式返回给应用程序。

注意 WinSNMP 应用程序必须先成功调用 SnmpStartup 函数,然后才能调用任何其他 WinSNMP 函数。
 

语法

SNMPAPI_STATUS SNMPAPI_CALL SnmpStartup(
  [out] smiLPUINT32 nMajorVersion,
  [out] smiLPUINT32 nMinorVersion,
  [out] smiLPUINT32 nLevel,
  [out] smiLPUINT32 nTranslateMode,
  [out] smiLPUINT32 nRetransmitMode
);

参数

[out] nMajorVersion

指向无符号长整型变量的指针,用于接收实现支持的 WinSNMP API 的主版本号。 例如,为了指示实现支持 WinSNMP 版本 2.0,函数返回值 2。

[out] nMinorVersion

指向无符号长整型变量的指针,用于接收实现支持的 WinSNMP API 的次要版本号。 例如,为了指示实现支持 WinSNMP 版本 2.0,函数返回值 0。

[out] nLevel

指向无符号长整型变量的指针,用于接收实现支持的最高级别的 SNMP 通信。 成功返回后,此参数包含值 2。 有关级别 2 支持的说明,请参阅 SNMP 支持级别

[out] nTranslateMode

指向无符号长整型变量的指针,用于接收对 实现有效的默认转换模式。 转换模式适用于实现对 WinSNMP 应用程序传递给 SnmpStrToEntity 函数的实体参数的解释。 转换模式也适用于 WinSNMP 应用程序传递给 SnmpStrToContext 函数的字符串参数。 此参数的取值可为下列值之一:

含义
SNMPAPI_TRANSLATED
实现使用其数据库来转换 SNMP 实体和托管对象的用户友好名称。 实现将它们转换为其 SNMPv1 或 SNMPv2C 组件。
SNMPAPI_UNTRANSLATED_V1
实现将 SNMP 实体参数解释为 SNMP 传输地址,将上下文参数解释为 SNMP 社区字符串。 对于 SNMPv2 目标实体,实现将创建在版本字段中包含值零的传出 SNMP 消息。
SNMPAPI_UNTRANSLATED_V2
实现将 SNMP 实体参数解释为 SNMP 传输地址,将上下文参数解释为 SNMP 社区字符串。 对于 SNMPv2 目标实体,实现将创建在版本字段中包含值 1 的传出 SNMP 消息。
 

有关详细信息,请参阅 设置实体和上下文转换模式

[out] nRetransmitMode

指向无符号长整数变量的指针,用于接收对实现有效的默认重新传输模式。 此参数的取值可为下列值之一:

含义
SNMPAPI_OFF
实现未执行 WinSNMP 应用程序的重新传输策略。
SNMPAPI_ON
该实现正在执行 WinSNMP 应用程序的重新传输策略。
 

有关详细信息,请参阅 关于重新传输

返回值

如果函数成功,则返回值SNMPAPI_SUCCESS,并且参数包含适当的值,如前面的参数说明所示。

如果函数失败,则返回值SNMPAPI_FAILURE。 若要获取扩展的错误信息,请调用 SnmpGetLastError,并在其会话参数中指定 NULL 值。 SnmpGetLastError 函数可能会返回以下错误之一。 有关其他信息,请参阅后面的“备注”部分。

返回代码 说明
SNMPAPI_NOT_INITIALIZED
SnmpStartup 函数未成功完成。
SNMPAPI_ALLOC_ERROR
内存分配期间出错。
SNMPAPI_OTHER_ERROR
发生未知或未定义的错误。

注解

在调用任何其他 WinSNMP 函数之前,WinSNMP 应用程序必须至少成功调用 SnmpStartup 函数一次。 如果 WinSNMP 应用程序在成功调用 SnmpStartup 之前调用另一个 WinSNMP 函数,则实现SNMPAPI_NOT_INITIALIZED返回错误。

WinSNMP 应用程序可以调用 SnmpGetLastError 以获取错误信息,或者在调用 SnmpStartup 函数失败时重试 SnmpStartup 。 当 SnmpStartup 返回SNMPAPI_FAILURE,并且随后对 SnmpGetLastError 的调用返回SNMP_ALLOC_ERROR时,WinSNMP 应用程序可以选择等待。 当实现具有足够的可用资源时,它可以重试对 SnmpStartup 的调用。

WinSNMP 应用程序可以多次调用 SnmpStartup 。 例如,它可能需要重试函数调用,原因如前所述。 WinSNMP 应用程序还必须至少调用 SnmpCleanup 一次,作为终止前的最后一个 WinSNMP 函数调用。 多个 SnmpStartup 调用不需要多个 SnmpCleanup 调用。

有关详细信息,请参阅 SNMP 支持级别关于 SNMP 版本

要求

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

另请参阅

SnmpCleanup

SnmpStrToContext

SnmpStrToEntity

WinSNMP 函数

WinSNMP API 概述