The top of the driver storage stack may contain one or more media filter drivers. A media filter driver, also known as a filter scheme driver, matches against an existing
IOMedia object in the storage stack, and creates a new
IOMedia object that represents the filtered media object. All read and write requests to the disk pass through the filter scheme driver, allowing the filter driver to manipulate the blocks that are read, or even to manipulate the data as it travels between the original
IOMedia object and the filtered
IOMedia object above it in the storage stack.
A filter scheme driver can be used to implement various types of functionality. For example, a filter driver could be used to implement block-level disk encryption ...