CallbackFilter introduces two types of callbacks (events, delegates).
First type is control callbacks. Control callbacks are used to let your application control execution of some operation. They are called before the request is passed further to the file system. Control callbacks can be used to deny the operation, to handle it instead of the file system or to modify the data before it is passed to the file system.
Second type is notification callbacks. Notification callbacks are used to notify your application about some operation that has been performed. They are called after the operation took place. Notification callbacks can be used for audit / journalling purposes.