Components signal events for actions within their domain that may be of interest to other componentsThe events API provides components with a way to signal other components that a certain event has occurred. For instance a WWW proxy might issue an event when the user makes a request or a response is received. A virus scanner might signal an event when some malware has been detected. Other components can register themselves as event sinks and be notified when those events have occurred.
...
- The name of the event. Set this with EventContextSetEventName
- The event source. Set this with EventContextSetEventSource
- Data. Depending on the event you are signalling you will need to push all expected data with EventContextPushData
...
A full sink requires you to register the sink and then manage it via the events API. You can attach it to event, detach, receive notifications of new events in the system and much more. The WinGate Policy module Engine component is one such sink component. It dynamically attaches and detaches event sinks when users drop event sources into the various policies.
A minisink on the other hand is registered by the component and then the events system manages displaying and hooking the minisink to compatible events. You just need to supply a few functions via the EventMiniSinkEngineInterface and EventMiniSinkGUIInterface and the framework does the rest. There are of course limitations to minisinks and they are described more in the Minisinks section.
...