This section contains details for vendors who need to create their own HID minidrivers. (You will need to create a minidriver if your device requires a transport other than USB, Bluetooth, Bluetooth LE, or I2C.)
HID minidrivers can be built using one of the following frameworks:
- UMDF – User Mode Driver Framework
- KDMF – Kernel Mode Driver Framework
- WDM – Legacy Windows Driver Model
Microsoft recommends that developers use the UMDF framework as a starting point, but the image and table below help identify the framework that is most appropriate.
The following table captures the key advantages and challenges associated with the two WDF models as they pertain to HID Transport minidrivers.
|Advantages||Support available in all Windows platforms that supports WDF Required for all keyboard and mouse filter drivers.||Easier to develop and recommended for most vertical device classes Errors in this driver do not bug check the whole system|
|Challenges||Poorly written KDMF HID transport minidrivers can crash the system||No support for UMDF hid transport minidrivers on pre-Windows 8 Added K/U transitions, could have a slight performance impact.|
Note Microsoft encourages hardware vendors to use the inbox transport-minidrivers whenever possible. However, if your device requires an unsupported transport, Microsoft recommends using the Windows Driver Framework (UMDF or KMDF) as the foundation your minidriver. You should only create a WDM minidriver if a specific transport is not supported by the Windows Driver Framework.
Build date: 1/30/2014