SnmpMgrOpen 函数 (mgmtapi.h)

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

SnmpMgrOpen 函数初始化通信套接字和数据结构,允许与指定的 SNMP 代理进行通信。 此函数是 SNMP 管理 API 的元素。

语法

LPSNMP_MGR_SESSION SNMP_FUNC_TYPE SnmpMgrOpen(
  [in] LPSTR lpAgentAddress,
  [in] LPSTR lpAgentCommunity,
  [in] INT   nTimeOut,
  [in] INT   nRetries
);

参数

[in] lpAgentAddress

指向以 null 结尾的字符串的指针,该字符串指定主机名或 IP 地址。 主机名必须解析为 IP 地址、8.12 表示法 (的 IPX 地址) 或以太网地址。 有关主机名和 IP 地址的可接受表单,请参阅备注部分。

[in] lpAgentCommunity

指向 以 null 结尾的字符串的指针,该字符串指定与 lpAgentAddress 参数标识的代理通信时要使用的 SNMP 社区名称。

[in] nTimeOut

指定通信超时(以毫秒为单位)。

[in] nRetries

指定通信重试计数。 每次传输重试尝试时, nTimeOut 参数中指定的超时将加倍。

返回值

如果函数成功,则返回值是指向 LPSNMP_MGR_SESSION 结构的指针。 此结构在内部使用,程序员不应对其进行更改。 有关更多信息,请参见下面的“备注”部分。

如果函数失败,则返回值为 NULL。 要获得更多的错误信息,请调用 GetLastError。 GetLastError 可能会返回SNMP_MEM_ALLOC_ERROR错误代码,指示内存分配错误。

此函数还可能返回 Windows 套接字错误代码。

注解

如果可能,请使用主机名在 lpAgentAddress 参数中标识 SNMP 代理。 仅当加载 TCP/IP 且名称为 TCP/IP 主机名时,才能为代理提供主机名。 无法为 IPX 主机提供 NetBIOS 名称。

SNMP 目标的名称和地址或 lpAgentAddress 参数指向的字符串应符合以下形式之一。

名称/地址 窗体 (示例)
主机名 梅林或 merlin.microsoft.com
IPv4 地址 157.57.8.160
IPv6 地址 3ffe:8311:ffff::b3ff:fe88:c33
MAC 地址 00aa00bbccdd
IPX 地址 00006112.00aa00bbccdd
 

应用程序不应使用此函数返回的 LPSNMP_MGR_SESSION 指针在不同线程的上下文中调用 SnmpMgrRequest 函数。

要求

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

另请参阅

SNMP 函数

简单网络管理协议 (SNMP) 概述

SnmpMgrClose

SnmpMgrRequest