snmpMgrGetTrap 函数 (mgmtapi.h)
[SNMP 可用于“要求”部分中指定的操作系统。 它可能在后续版本中变更或不可用。 请改用 Windows 远程管理,这是 WS-Man 的 Microsoft 实现。]
如果启用了陷阱接收, SnmpMgrGetTrap 函数将返回调用方未收到的未完成的陷阱数据。 此函数是 SNMP 管理 API 的一个元素。
除了此函数返回的信息外, SnmpMgrGetTrapEx 函数还返回传输源的地址和陷阱的社区字符串。
语法
BOOL SNMP_FUNC_TYPE SnmpMgrGetTrap(
[out] AsnObjectIdentifier *enterprise,
[out] AsnNetworkAddress *IPAddress,
[out] AsnInteger *genericTrap,
[out] AsnInteger *specificTrap,
[out] AsnTimeticks *timeStamp,
[out] RFC1157VarBindList *variableBindings
);
参数
[out] enterprise
指向 AsnObjectIdentifier 结构的指针,用于接收生成 SNMP 陷阱的企业。
[out] IPAddress
指向变量的指针,用于接收生成 SNMP 陷阱的代理的地址。
[out] genericTrap
指向变量的指针,用于接收泛型陷阱的指示器。 此参数的取值可为下列值之一:
[out] specificTrap
指向变量的指针,用于接收生成的特定陷阱的指示。
[out] timeStamp
指向用于接收时间戳的变量的指针。
[out] variableBindings
指向 SnmpVarBindList 结构的指针,用于接收变量绑定列表。
返回值
如果函数返回陷阱,则返回值为 TRUE。 可以通过在调用后立即调用 SnmpGetLastError 来检索错误的代码。
应重复调用 SnmpMgrGetTrap 函数,直到它返回 FALSE (零) 。 该函数还可能返回以下错误代码。
返回代码 | 说明 |
---|---|
|
指示遇到错误;陷阱不可访问。 |
|
指示没有可用的陷阱。 |
|
指示内存分配错误。 |
注解
在调用 SnmpMgrGetTrap 函数之前,应用程序必须始终调用 SnmpMgrTrapListen 函数。 这是因为 SnmpMgrTrapListen 函数的 phTrapAvailable 参数指向的事件句柄启用 SNMP 陷阱的事件驱动获取。 SNMP 陷阱服务提供陷阱时,SNMP 管理 API 会发出应用程序的事件信号。
应用程序还可以定期轮询 SnmpMgrGetTrap 函数以获取陷阱。 在这种情况下,应用程序应重复调用 SnmpMgrGetTrap ,直到函数返回零。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | mgmtapi.h |
Library | Mgmtapi.lib |
DLL | Mgmtapi.dll |