snmpMgrGetTrapEx 函数 (mgmtapi.h)

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

SnmpMgrGetTrapEx 函数返回未完成的陷阱数据,如果启用了陷阱接收,则调用方尚未收到这些数据。 除了 SnmpMgrGetTrap 函数返回的信息外,此扩展函数还返回传输源的地址和陷阱的社区字符串。 此函数是 SNMP 管理 API 的元素。

语法

BOOL SNMP_FUNC_TYPE SnmpMgrGetTrapEx(
  [out] AsnObjectIdentifier *enterprise,
  [out] AsnNetworkAddress   *agentAddress,
  [out] AsnNetworkAddress   *sourceAddress,
  [out] AsnInteger          *genericTrap,
  [out] AsnInteger          *specificTrap,
  [out] AsnOctetString      *community,
  [out] AsnTimeticks        *timeStamp,
  [out] RFC1157VarBindList  *variableBindings
);

参数

[out] enterprise

指向 AsnObjectIdentifier 结构的指针,用于接收生成 SNMP 陷阱的企业。

[out] agentAddress

指向变量的指针,用于接收生成 SNMP 陷阱的代理的地址;此信息从 SNMP 协议数据单元 (PDU) 检索。

[out] sourceAddress

指向变量的指针,用于接收生成 SNMP 陷阱的代理的地址;此信息是从网络传输中检索的。

[out] genericTrap

指向变量的指针,用于接收泛型陷阱的指示器。 此参数的取值可为下列值之一:

含义
SNMP_GENERICTRAP_COLDSTART
代理正在初始化托管模式下的协议实体。 它可能会更改其视图中的对象。
SNMP_GENERICTRAP_WARMSTART
代理正在重新初始化自身,但它不会更改其视图中的对象。
SNMP_GENERICTRAP_LINKDOWN
附加接口已从向上状态更改为关闭状态。 变量绑定列表中的第一个变量标识接口。
SNMP_GENERICTRAP_LINKUP
附加接口已从关闭状态更改为向上状态。 变量绑定列表中的第一个变量标识接口。
SNMP_GENERICTRAP_AUTHFAILURE
SNMP 实体已发送 SNMP 消息,但它错误地声称属于已知社区。
SNMP_GENERICTRAP_EGPNEIGHLOSS
EGP 对等方已更改为关闭状态。 变量绑定列表中的第一个变量标识 EGP 对等方的 IP 地址。
SNMP_GENERICTRAP_ENTERSPECIFIC
发生了一起非同寻常的事件。 它在具有企业特定值的 specificTrap 参数中标识。

[out] specificTrap

指向变量的指针,用于接收生成的特定陷阱的指示器。

[out] community

指向 AsnOctetString 结构的指针,用于接收生成的 SNMP 陷阱的社区字符串。

[out] timeStamp

指向用于接收时间戳的变量的指针。

[out] variableBindings

指向 SnmpVarBindList 结构的指针,用于接收变量绑定列表。

返回值

如果函数返回陷阱,则返回值为非零值。

应重复调用 SnmpMgrGetTrapEx 函数,直到它返回零。 该函数还可能返回以下错误代码。

返回代码 说明
SNMP_MGMTAPI_TRAP_ERRORS
指示遇到错误;陷阱不可访问。
SNMP_MGMTAPI_NOTRAPS
指示没有可用的陷阱。
SNMP_MEM_ALLOC_ERROR
指示内存分配错误。

注解

在调用 SnmpMgrGetTrapEx 函数之前,应用程序必须始终调用 SnmpMgrTrapListen 函数。 这是因为 SnmpMgrTrapListen 函数的 phTrapAvailable 参数所指向的事件句柄启用 SNMP 陷阱的事件驱动获取。 SNMP 陷阱服务提供陷阱时,SNMP 管理 API 会发出应用程序事件的信号。

应用程序还可以定期轮询 SnmpMgrGetTrapEx 函数以查找陷阱。 在这种情况下,应用程序应重复调用 SnmpMgrGetTrapEx ,直到函数返回零。

要求

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

另请参阅

AsnObjectIdentifier

AsnOctetString

SNMP 函数

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

SnmpMgrTrapListen

SnmpVarBindList