Kernel Mode Display-Only Driver (KMDOD) Interface
The DriverEntry function of the kernel mode display-only driver (KMDOD) supplies function pointers to the display port driver by filling in all members of a KMDDOD_INITIALIZATION_DATA structure and then passing that structure to the DxgkInitializeDisplayOnlyDriver function.
KMDDOD_INITIALIZATION_DATA lists all functions that can be implemented by a KMDOD. All but one of these functions can also be implemented by a full display miniport driver.
This is the only function with a function pointer in KMDDOD_INITIALIZATION_DATA that is unique to a KMDOD:
Note that if a KMDOD does not support the VSync control feature, it should not implement certain functions—see Saving Energy with VSync Control.
The following structures and enumeration are also used with kernel mode display-only drivers:
For further details, see the Kernel mode display-only miniport driver in the MSDN Developer Samples code gallery.
A KMDOD does not support the sleep power state. If it is placed in the sleep state, the driver will cause a system bugcheck to occur. There is no workaround available, by design.
If the current display driver is not a Windows Display Driver Model (WDDM) 1.2 compliant driver, a KMDOD might fail to install, with error code 43 displayed. The KMDOD driver is actually installed, but it cannot be started. The workaround for this issue is to switch to the Microsoft Basic Display Adapter Driver before installing the KMDOD, or simply to reboot your system after installing the KMDOD.