DirectX Graphics Kernel Subsystem (Dxgkrnl.sys)

This topic lists kernel-mode interfaces that the Windows operating system implements through the Microsoft DirectX graphics kernel subsystem (Dxgkrnl.sys).

The display port driver is one portion of the DirectX graphics kernel subsystem (Dxgkrnl.sys). The display miniport driver is implemented by the display adapter vendor. For descriptions of other functions implemented by the DirectX graphics kernel subsystem, see the following topics:

VidPN Objects and Interfaces

Supporting Path-Independent Rotation

Obtaining Additional Monitor Target Modes

For descriptions of functions implemented by the display miniport driver, see Kernel-Mode Interfaces Implemented By the Display Miniport Driver.

Dxgkrnl Interface

The DirectX graphics kernel subsystem (Dxgkrnl.sys) provides the display miniport driver with pointers to the functions in the following table by passing a DXGKRNL_INTERFACE structure to the display miniport driver's DxgkDdiStartDevice function. The DXGKRNL_INTERFACE structure also contains a handle (generated by the display port driver) to a particular display adapter. The display miniport driver passes that handle as an argument each time it calls any of the functions in DXGKRNL_INTERFACE.

  • DxgkInitialize
  • DxgkInitializeDisplayOnlyDriver (Only called by kernel mode display-only drivers) (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
  • DxgkCbAcquirePostDisplayOwnership (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
  • DxgkCbCompleteFStateTransition (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
  • DxgkCbCreateContextAllocation (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
  • DxgkCbDestroyContextAllocation (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
  • DxgkCbEnumHandleChildren
  • DxgkCbEvalAcpiMethod
  • DxgkCbExcludeAdapterAccess
  • DxgkCbGetCaptureAddress
  • DxgkCbGetDeviceInformation
  • DxgkCbGetHandleData
  • DxgkCbGetHandleParent
  • DxgkCbIndicateChildStatus
  • DxgkCbIsDevicePresent
  • DxgkCbLogEtwEvent
  • DxgkCbMapMemory
  • DxgkCbNotifyDpc
  • DxgkCbNotifyInterrupt
  • DxgkCbPowerRuntimeControlRequest (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
  • DxgkCbPresentDisplayOnlyProgress (Only called by kernel mode display-only drivers) (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
  • DxgkCbQueryMonitorInterface
  • DxgkCbQueryServices
  • DxgkCbQueryVidPnInterface
  • DxgkCbQueueDpc
  • DxgkCbReadDeviceSpace
  • DxgkCbSetPowerComponentActive (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
  • DxgkCbSetPowerComponentIdle (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
  • DxgkCbSetPowerComponentLatency (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
  • DxgkCbSetPowerComponentResidency (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
  • DxgkCbSynchronizeExecution
  • DxgkCbUnmapMemory
  • DxgkCbWriteDeviceSpace
  • DxgkCbIsDevicePresent
  • DxgkCbGetHandleData
  • DxgkCbGetHandleParent
  • DxgkCbEnumHandleChildren
  • DxgkCbNotifyInterrupt
  • DxgkCbNotifyDpc
  • DxgkCbQueryVidPnInterface
  • DxgkCbQueryMonitorInterface
  • DxgkCbGetCaptureAddress
  • DxgkCbLogEtwEvent
  • DxgkCbExcludeAdapterAccess
  • DxgkCbCreateContextAllocation
  • DxgkCbDestroyContextAllocation
  • DxgkCbSetPowerComponentActive
  • DxgkCbSetPowerComponentIdle
  • DxgkCbPowerRuntimeControlRequest

AGP Interface

The following functions are implemented by the operating system and called by the display miniport driver to support AGP (accelerated graphics port). The display miniport driver obtains pointers to these functions by passing the DxgkServicesAgp value from the DXGK_SERVICES enumeration type to the ServicesType parameter of the DxgkCbQueryServices function.

Debug Report Interface

The display miniport driver obtains pointers to the following functions by passing the DxgkServicesDebugReport value from the DXGK_SERVICES enumeration type to the ServicesType parameter of the DxgkCbQueryServices function. These functions are accessed through the _DXGK_DEBUG_REPORT_INTERFACE structure.

  • DbgReportComplete
  • DbgReportCreate
  • DbgReportSecondaryData

Timed Operation Interface

The display miniport driver obtains pointers to the following functions by passing the DxgkServicesTimedOperation value from the DXGK_SERVICES enumeration type to the ServicesType parameter of the DxgkCbQueryServices function. DxgkCbQueryServices returns pointers to the functions in the preceding list in members of the DXGK_TIMED_OPERATION_INTERFACE structure; the display miniport driver supplies a pointer to DXGK_TIMED_OPERATION_INTERFACE to the Interface parameter of DxgkCbQueryServices.

  • TimedOperationStart
  • TimedOperationDelay
  • TimedOperationWaitForSingleObject

See also

Windows Display Driver Model (WDDM) Architecture

Initializing the Display Miniport Driver