DirectX Graphics Kernel Subsystem (Dxgkrnl)
This article describes kernel-mode interfaces that the Windows operating system implements through the DirectX graphics kernel subsystem (Dxgkrnl.sys).
The display port driver is one portion of Dxgkrnl.sys. A graphics/display hardware vendor implements the kernel-mode display miniport driver (KMD).
For descriptions of other functions implemented by Dxgkrnl, see articles such as:
Supporting Path-Independent Rotation
Obtaining Additional Monitor Target Modes
Dxgkrnl Interface
A KMD's DriverEntry function calls the operating system's DxgkInitialize function, which causes Dxgkrnl to be loaded and initialized.
Once loaded, Dxgkrnl.sys provides the KMD with pointers to its functions by passing a DXGKRNL_INTERFACE structure to the KMD's DxgkDdiStartDevice function. Dxgkrnl's function pointers have a DxgkCb prefix.
The DXGKRNL_INTERFACE structure also contains a handle to a particular display adapter. The display port driver generates this handle. The KMD passes this handle as an argument each time it calls any of the functions in DXGKRNL_INTERFACE.
Display port driver interfaces
The KMD gets the display port driver's interfaces by calling Dxgkrnl's DxgkCbQueryServices function with a DXGK_SERVICES value that specifies the type of interface that the KMD wants. Services that the display port driver provides include AGP (Accelerated Graphics Port) services, debug report services, timed operation services, and more.