The Filter Manager provides applications with the facility to register pre and post-filters. 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.
A pre-filter is so-called because it is assigned to be called before a task calls Wimp_Poll. With a pre-filter, the event mask the task passes to Wimp_Poll can also be changed.
A post-filter is so-called because it is assigned after Wimp_Poll, but just before it returns control back to a task. The reason code and data block returned by Wimp_Poll can be modified if required before it is passed back to a task, or alternatively suppressed altogether.