The Filter Manager provides applications with the facility to register pre and post-filters against WIMP tasks?. Filters are useful when a task needs to intercept events that may or may not be under the control of the task.
Filters do not need to be applied to a specific task as they can be assigned to respond to all tasks. Each filter is a routine that must have well defined entry and exit conditions.
Pre-filters are called when a task calls the Wimp (e.g. via Wimp_Poll). They are called before control passes to the Wimp, allowing the filter to adjust the parameters of the call or override it completely.
Post-filters are called when the Wimp passes control of execution back to a task. This allows the filter to monitor or adjust the result of a call that the task had made, or perform additional processing such as rendering an image over the top of a window.