What is the difference between a mini driver and a filter driver? Are they the same thing?
A miniport driver is a driver for a specific USB, Audio, SCSI and network adapter device which relies on the rest of the driver stack to provide common functionality for devices of that type.
Filter drivers add extra functionality to a driver stack and require both bus and device function drivers to be of use.
For instance, A GigE Vision camera may well come with two drivers, a miniport camera driver and an ethernet filter driver.
From the wikipedia page for Windows Driver Model:
Device function drivers
A function driver is the main driver for a device. A function driver is typically written by the device vendor and is required (unless the device is being used in raw mode). A function driver can service one or more devices.
A bus driver services a bus controller, adapter, or bridge. Microsoft provides bus drivers for most common buses, such as PCI, PnPISA, SCSI, USB and FireWire. Each software vendor can create their own bus drivers if needed. A bus driver can service more than one bus if there is more than one bus of the same type on the machine.
Filter drivers are optional drivers that add value to or modify the behavior of a device and may be non-device drivers. A filter driver can also service one or more devices. Upper level filter drivers sit above the primary driver for the device (the function driver), while lower level filter drivers sit below the function driver and above the bus driver.