多个陷阱注册
当 WinSNMP 应用程序为陷阱或通知注册 WinSNMP 会话时,可以使用多种选项。 因此,应用程序可以多次调用 SnmpRegister 函数,实际上定义用于接收陷阱和通知的自定义筛选器。 例如,可以注册一种类型的陷阱或通知,或者注册所有陷阱和通知,具体取决于 通知 参数的值。 此外,应用程序可以在 SnmpRegister 函数的其他参数中指定值,以进一步定义应到达应用程序的陷阱和通知。 有关详细信息,请参阅 管理陷阱和通知。
下面是对 SnmpRegister 的多次调用是冗余的实例。 在这些情况下,如果函数成功完成, SnmpRegister 将返回SNMPAPI_SUCCESS,但冗余注册无效。
- 在上一次调用 SnmpRegister 请求传递所有陷阱和通知之后,调用 SnmpRegister 函数,请求将陷阱和通知筛选传递到会话, (未筛选传递) 。 此调用是冗余的,因为会话已接收所有陷阱和通知,包括筛选器定义的单个类型。
- 对 SnmpRegister 的重复调用,或对会话的上一次调用 SnmpRegister 时参数列表与参数列表相同的调用。
- 对 SnmpRegister 函数的调用,该函数请求基于对象标识符筛选传递陷阱和通知 (OID) 其前缀是在上一次调用 SnmpRegister 中指定的 OID。 例如,可以在 通知 参数中指定“1.3.6.1.4.1.311”,以接收源自任何 Microsoft SNMP 代理实体的通知。 如果再次调用 SnmpRegister 并指定“1.3.6.1.4.1.311.1”,则第二次调用是多余的,因为会话已收到包含 OID 前缀“1.3.6.1.4.1.311”的所有陷阱和通知。
若要取消注册会话,必须匹配对 SnmpRegister 函数的每个唯一注册调用。 调用 SnmpRegister 以注销会话,并确保 SnmpRegister 的前五个参数与初始注册调用中的参数相同。 初始调用和取消注册调用之间的唯一区别在于,注册时必须在 status 参数中指定值SNMPAPI_ON,并且调用要注销的函数时,必须指定SNMPAPI_OFF。 无需将冗余注册调用匹配到 SnmpRegister 函数。 只需匹配第一个唯一注册调用。
若要更改筛选条件,应用程序可能需要先注销并禁用某些陷阱或通知的传递。 然后,应用程序可以通过调用 SnmpRegister 来创建新的筛选器,并传递相应的值。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈