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:

VidPN Objects and Interfaces

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.

See also

Windows Display Driver Model (WDDM) Architecture

Initializing the Display Miniport Driver