The SnmpMgrGetTrap function returns outstanding trap data that the caller has not received if trap reception is enabled.
BOOL SnmpMgrGetTrap(
AsnObjectIdentifier *enterprise, |
// generating enterprise |
AsnNetworkAddress *IPAddress, |
// generating IP address |
AsnInteger *genericTrap, |
// generic trap type |
AsnInteger *specificTrap, |
// enterprise-specific type |
AsnTimeticks *timeStamp, |
// time stamp |
RFC1157VarBindList *variableBindings |
// variable bindings |
); |
Value |
Meaning |
SNMP_GENERICTRAP_COLDSTART |
The agent is initializing protocol entities on the managed mode. It may alter objects in its view. |
SNMP_GENERICTRAP_WARMSTART |
The agent is re-initializing itself but it will not alter objects in its view. |
SNMP_GENERICTRAP_LINKDOWN |
An attached interface has changed from the up state to the down state. The first variable in the variable bindings list identifies the interface. |
SNMP_GENERICTRAP_LINKUP |
An attached interface has changed from the down state to the up state. The first variable in the variable bindings list identifies the interface. |
SNMP_GENERICTRAP_AUTHFAILURE |
An SNMP entity has sent an SNMP message, but it has falsely claimed to belong to a known community. |
SNMP_GENERICTRAP_EGPNEIGHLOSS |
An EGP peer has changed to the down state. The first variable in the variable bindings list identifies the IP address of the EGP peer. |
SNMP_GENERICTRAP_ENTERSPECIFIC |
An extraordinary event has occurred and it is identified in the specificTrap parameter with an enterprise-specific value. |
If the function returns a trap, the return value is nonzero.
You should call the SnmpMgrGetTrap function repeatedly until GetLastError returns zero. GetLastError may also return the following error codes:
Error Code |
Meaning |
SNMP_MGMTAPI_TRAP_ERRORS |
Indicates errors were encountered; traps are not accessible. |
SNMP_MGMTAPI_NOTRAPS |
Indicates no traps are available. |
SNMP_MEM_ALLOC_ERROR |
Indicates a memory allocation error. |
You must allocate memory for the list member of the RFC1157VarBindList structure with the SnmpUtilMemAlloc function but you do not need to free it.
Once an operating system completes a task, it sends a trap signal. An internal SNMP signal checks for the trap signal to notify the SNMP manager of the completed task. The event that the phTrapAvailable parameter of the SnmpMgrTrapListen function points to allows event-driven acquisition of SNMP traps. You can ignore the trap and poll the SnmpMgrGetTrap function for traps at regular intervals instead.
Another method to acquire traps is to create a thread to wait on the event using the WaitForSingleObject function. When the event occurs, the thread should clear the event using the ResetEvent function. Then the thread should repeatedly call SnmpMgrGetTrap until it returns zero.
Always call the SnmpMgrTrapListen function before calling SnmpMgrGetTrap to receive traps. If an SNMP manager application calls SnmpMgrGetTrap first to receive traps, it returns zero, even if there are traps available. If the application calls GetLastError before calling SnmpMgrTrapListen, GetLastError returns the error code SNMP_MGMTAPI_TRAP_ERRORS.
SnmpMgrTrapListen, SnmpUtilMemAlloc, WaitForSingleObject, RFC1157VarBindList, ResetEvent
file: /Techref/os/win/api/win32/func/src/f86_2.htm, 8KB, , updated: 2000/4/7 11:19, local time: 2024/11/11 02:19,
3.135.204.160:LOG IN ©2024 PLEASE DON'T RIP! THIS SITE CLOSES OCT 28, 2024 SO LONG AND THANKS FOR ALL THE FISH!
|
©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://linistepper.com/Techref/os/win/api/win32/func/src/f86_2.htm"> SnmpMgrGetTrap</A> |
Did you find what you needed? |