SnmpMgrTrapListen功能注册管理应用程序接收SNMP陷阱的能力。
BOOL SnmpMgrTrapListen(
HANDLE【*phTrapAvailable】 | //事件句柄指示陷阱可用 |
); |
参数
【phTrapAvailable】
[out]指向将用于指示有陷阱可用的事件句柄,并且应用程序应调用SnmpMgrGetTrap函数。
返回值
如果函数成功,返回值为TRUE。
如果函数失败,返回值为FALSE。要获取扩展错误信息,请调用GetLastError.GetLastError可能会返回以下任何错误代码:
错误代码 | 描述 |
SNMP_MEM_ALLOC_ERROR | 表示内存分配错误。 |
SNMP_MGMTAPI_TRAP_DUPINIT | 表示此函数已被调用。 |
SNMP_MGMTAPI_AGAIN | 表示发生错误应用程序可以尝试再次调用该函数。 |
此函数也可能会返回其他系统错误。
备注
重要的是要注意,仅当SNMP陷阱服务启动时,SnmpMgrTrapListen功能才能在Windows NT 4.0上成功。有关其他信息,请参阅打开和关闭SNMP.
【phTrapAvailable】参数指向允许事件驱动的SNMP陷阱采集事件。如果首先调用SnmpMgrTrapListen函数,则可以定期忽略事件句柄并轮询SnmpMgrGetTrap陷阱的功能。
获取陷阱的另一种方法是使用WaitForSingleObject函数创建一个等待事件的线程。当呼叫发起事件时,线程应使用ResetEvent功能清除事件。那么线程应该重复调用SnmpMgrGetTrap函数,直到它返回一个值为FALSE。
请调用SnmpMgrGetTrap SnmpMgrGetTrap以接收陷阱。如果SNMP管理器应用程序调用{??989796074} 【第一】来接收陷阱,则它返回值为FALSE,即使有陷阱可用。如果应用程序在致电SnmpMgrTrapListen之前致电GetLastError,GetLastError将返回错误代码SNMP_MGMTAPI_TRAP_ERRORS。
也可以看看