User-Mode Driver Framework

This is particularly useful for devices that are intermittently connected to the system or support hot swapping via a bus technology such as USB or FireWire.

Code-named "Crescent", it was designed to support the Media Transfer Protocol driver, and no public interfaces or documentation were provided for it.

Later, Microsoft decided to turn UMDF into a device driver development platform.

[3] A UMDF Driver is a DLL based on Microsoft's Component Object Model (COM).

However, UMDF does not use COM for loading, unloading, or controlling concurrency; it only uses COM as a programming pattern, for example exploiting COM's IUnknown interface.