Fired when an SNMPv3 discovery packet is received.
type TDiscoveryRequestEvent = procedure ( Sender: TObject; EngineId: String; EngineIdB: TBytes; EngineBoots: Integer; EngineTime: Integer; const User: String; SecurityLevel: Integer; const SourceAddress: String; SourcePort: Integer; var Respond: Boolean ) of Object;
property OnDiscoveryRequest: TDiscoveryRequestEvent read FOnDiscoveryRequest write FOnDiscoveryRequest;
EngineId, EngineBoots, EngineTime, and User are the values received from SourceAddress.
For SNMPv3, the User parameter shows the user that was supplied with the packet. This parameter MUST be used together with the SecurityLevel parameter which shows the level of security in the message.
The SecurityLevel parameter shows whether the request has been authenticated. If SecurityLevel is 0, the request has NOT been authenticated (i.e. the packet signature has not been verified). For an authenticated, non encrypted request, SecurityLevel is 1. For an authenticated and encrypted request, SecurityLevel is 2.
Respond is True by default, and will automatically send a response using the value in LocalEngineId. To suppress the response, set Respond to False.
The value returned to SourceAddress for EngineBoots is always 0, and EngineTime is the number of seconds since January 1st, 1970 (GMT).