SnmpMgrGetTrap
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 |
); |
|
Parameters
enterprise
[out] Points
to an object identifier that specifies the enterprise that generated the SNMP
trap.
IPAddress
[out] Points
to the IP address of the enterprise that generated the SNMP trap.
genericTrap
[out] Points
to an indicator of the generic trap. This parameter can be one of the following
values:
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. |
specificTrap
[out] Points
to an indication of the specific trap generated.
timeStamp
[out] Points
to a variable to receive the time stamp.
variableBindings
[out] Points
to the variable bindings list.
Return Values
If the
function returns a trap, the return value is TRUE.
You should
call the SnmpMgrGetTrap function repeatedly until GetLastError
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. |
Remarks
You must
allocate memory for the list member of the RFC1157VarBindList
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
Another
method to acquire traps is to create a thread to wait on the event using the WaitForSingleObject
Always call
the SnmpMgrTrapListen function before calling SnmpMgrGetTrap
to receive traps. If an SNMP manager application calls SnmpMgrGetTrap first
to receive traps, it returns a value of FALSE, even if there are traps
available. If the application calls GetLastError before calling SnmpMgrTrapListen, GetLastError returns the error code SNMP_MGMTAPI_TRAP_ERRORS.
See Also
SnmpMgrTrapListen, SnmpUtilMemAlloc