The Virtual Hid Device module is KMDF-only: https://github.com/Microsoft/DMF/blob/8d126adc31c7c9d925dce7caa8ca016290babe79/Dmf/Modules.Library/Dmf_VirtualHidDeviceVhf.h#L24 However, the [vhidmini2 sample is also supported in UMDF](https://github.com/Microsoft/Windows-driver-samples/tree/master/hid/vhidmini2/driver/umdf2). The difference seems to be in the code in [kmdf/util.c](https://github.com/Microsoft/Windows-driver-samples/blob/master/hid/vhidmini2/driver/kmdf/util.c) and [umdf2/util.c](https://github.com/Microsoft/Windows-driver-samples/blob/master/hid/vhidmini2/driver/umdf2/util.c), but I don't see similar code in the DMF module. Is there a reason for which the Virtual Hid module is implemented as KMDF-only?