KMDDOD_INITIALIZATION_DATA structure (dispmprt.h)

Contains pointers to functions implemented by a kernel mode display-only driver (KMDOD). The KMDOD's DriverEntry function provides the Microsoft DirectX graphics kernel subsystem with entry points by filling in the members of this structure.

Syntax

typedef struct _KMDDOD_INITIALIZATION_DATA {
  ULONG                                                   Version;
  PDXGKDDI_ADD_DEVICE                                     DxgkDdiAddDevice;
  PDXGKDDI_START_DEVICE                                   DxgkDdiStartDevice;
  PDXGKDDI_STOP_DEVICE                                    DxgkDdiStopDevice;
  PDXGKDDI_REMOVE_DEVICE                                  DxgkDdiRemoveDevice;
  PDXGKDDI_DISPATCH_IO_REQUEST                            DxgkDdiDispatchIoRequest;
  PDXGKDDI_INTERRUPT_ROUTINE                              DxgkDdiInterruptRoutine;
  PDXGKDDI_DPC_ROUTINE                                    DxgkDdiDpcRoutine;
  PDXGKDDI_QUERY_CHILD_RELATIONS                          DxgkDdiQueryChildRelations;
  PDXGKDDI_QUERY_CHILD_STATUS                             DxgkDdiQueryChildStatus;
  PDXGKDDI_QUERY_DEVICE_DESCRIPTOR                        DxgkDdiQueryDeviceDescriptor;
  PDXGKDDI_SET_POWER_STATE                                DxgkDdiSetPowerState;
  PDXGKDDI_NOTIFY_ACPI_EVENT                              DxgkDdiNotifyAcpiEvent;
  PDXGKDDI_RESET_DEVICE                                   DxgkDdiResetDevice;
  PDXGKDDI_UNLOAD                                         DxgkDdiUnload;
  PDXGKDDI_QUERY_INTERFACE                                DxgkDdiQueryInterface;
  PDXGKDDI_CONTROL_ETW_LOGGING                            DxgkDdiControlEtwLogging;
  PDXGKDDI_QUERYADAPTERINFO                               DxgkDdiQueryAdapterInfo;
  PDXGKDDI_SETPALETTE                                     DxgkDdiSetPalette;
  PDXGKDDI_SETPOINTERPOSITION                             DxgkDdiSetPointerPosition;
  PDXGKDDI_SETPOINTERSHAPE                                DxgkDdiSetPointerShape;
  PDXGKDDI_ESCAPE                                         DxgkDdiEscape;
  PDXGKDDI_COLLECTDBGINFO                                 DxgkDdiCollectDbgInfo;
  PDXGKDDI_ISSUPPORTEDVIDPN                               DxgkDdiIsSupportedVidPn;
  PDXGKDDI_RECOMMENDFUNCTIONALVIDPN                       DxgkDdiRecommendFunctionalVidPn;
  PDXGKDDI_ENUMVIDPNCOFUNCMODALITY                        DxgkDdiEnumVidPnCofuncModality;
  PDXGKDDI_SETVIDPNSOURCEVISIBILITY                       DxgkDdiSetVidPnSourceVisibility;
  PDXGKDDI_COMMITVIDPN                                    DxgkDdiCommitVidPn;
  PDXGKDDI_UPDATEACTIVEVIDPNPRESENTPATH                   DxgkDdiUpdateActiveVidPnPresentPath;
  PDXGKDDI_RECOMMENDMONITORMODES                          DxgkDdiRecommendMonitorModes;
  PDXGKDDI_GETSCANLINE                                    DxgkDdiGetScanLine;
  PDXGKDDI_QUERYVIDPNHWCAPABILITY                         DxgkDdiQueryVidPnHWCapability;
  PDXGKDDI_PRESENTDISPLAYONLY                             DxgkDdiPresentDisplayOnly;
  PDXGKDDI_STOP_DEVICE_AND_RELEASE_POST_DISPLAY_OWNERSHIP DxgkDdiStopDeviceAndReleasePostDisplayOwnership;
  PDXGKDDI_SYSTEM_DISPLAY_ENABLE                          DxgkDdiSystemDisplayEnable;
  PDXGKDDI_SYSTEM_DISPLAY_WRITE                           DxgkDdiSystemDisplayWrite;
  PDXGKDDI_GET_CHILD_CONTAINER_ID                         DxgkDdiGetChildContainerId;
  PDXGKDDI_CONTROLINTERRUPT                               DxgkDdiControlInterrupt;
  PDXGKDDISETPOWERCOMPONENTFSTATE                         DxgkDdiSetPowerComponentFState;
  PDXGKDDIPOWERRUNTIMECONTROLREQUEST                      DxgkDdiPowerRuntimeControlRequest;
  PDXGKDDI_NOTIFY_SURPRISE_REMOVAL                        DxgkDdiNotifySurpriseRemoval;
  PDXGKDDI_POWERRUNTIMESETDEVICEHANDLE                    DxgkDdiPowerRuntimeSetDeviceHandle;
} KMDDOD_INITIALIZATION_DATA, *PKMDDOD_INITIALIZATION_DATA;

Members

Version

A positive integer that indicates the version of the functional interface implemented by the KMDOD. The KMDOD must set this member to DXGKDDI_INTERFACE_VERSION, which is defined in Dispmprt.h.

DxgkDdiAddDevice

A pointer to the KMDOD's DxgkDdiAddDevice function.

DxgkDdiStartDevice

A pointer to the KMDOD's DxgkDdiStartDevice function.

DxgkDdiStopDevice

A pointer to the KMDOD's DxgkDdiStopDevice function.

DxgkDdiRemoveDevice

A pointer to the KMDOD's DxgkDdiRemoveDevice function.

DxgkDdiDispatchIoRequest

A pointer to the KMDOD's DxgkDdiDispatchIoRequest function.

DxgkDdiInterruptRoutine

A pointer to the KMDOD's DxgkDdiInterruptRoutine function.

Note  This function pointer has special requirements. For more information, see Remarks.
 

DxgkDdiDpcRoutine

A pointer to the KMDOD's DxgkDdiDpcRoutine function.

Note  This function pointer has special requirements. For more information, see Remarks.
 

DxgkDdiQueryChildRelations

A pointer to the KMDOD's DxgkDdiQueryChildRelations function.

DxgkDdiQueryChildStatus

A pointer to the KMDOD's DxgkDdiQueryChildStatus function.

DxgkDdiQueryDeviceDescriptor

A pointer to the KMDOD's DxgkDdiQueryDeviceDescriptor function.

DxgkDdiSetPowerState

A pointer to the KMDOD's DxgkDdiSetPowerState function.

DxgkDdiNotifyAcpiEvent

A pointer to the KMDOD's DxgkDdiNotifyAcpiEvent function.

DxgkDdiResetDevice

A pointer to the KMDOD's DxgkDdiResetDevice function.

DxgkDdiUnload

A pointer to the KMDOD's DxgkDdiUnload function.

DxgkDdiQueryInterface

A pointer to the KMDOD's DxgkDdiQueryInterface function.

DxgkDdiControlEtwLogging

A pointer to the KMDOD's DxgkDdiControlEtwLogging function.

DxgkDdiQueryAdapterInfo

A pointer to the KMDOD's DxgkDdiQueryAdapterInfo function.

DxgkDdiSetPalette

A pointer to the KMDOD's DxgkDdiSetPalette function that sets the palette for the display.

DxgkDdiSetPointerPosition

A pointer to the KMDOD's DxgkDdiSetPointerPosition function.

DxgkDdiSetPointerShape

A pointer to the KMDOD's DxgkDdiSetPointerShape function.

DxgkDdiEscape

A pointer to the KMDOD's DxgkDdiEscape function.

DxgkDdiCollectDbgInfo

A pointer to the KMDOD's DxgkDdiCollectDbgInfo function.

DxgkDdiIsSupportedVidPn

A pointer to the KMDOD's DxgkDdiIsSupportedVidPn function.

DxgkDdiRecommendFunctionalVidPn

A pointer to the KMDOD's DxgkDdiRecommendFunctionalVidPn function.

DxgkDdiEnumVidPnCofuncModality

A pointer to the KMDOD's DxgkDdiEnumVidPnCofuncModality function.

DxgkDdiSetVidPnSourceVisibility

A pointer to the KMDOD's DxgkDdiSetVidPnSourceVisibility function.

DxgkDdiCommitVidPn

A pointer to the KMDOD's DxgkDdiCommitVidPn function.

DxgkDdiUpdateActiveVidPnPresentPath

A pointer to the KMDOD's DxgkDdiUpdateActiveVidPnPresentPath function.

DxgkDdiRecommendMonitorModes

A pointer to the KMDOD's DxgkDdiRecommendMonitorModes function.

DxgkDdiGetScanLine

A pointer to the KMDOD's DxgkDdiGetScanLine function.

Note  This function pointer has special requirements. For more information, see Remarks.
 

DxgkDdiQueryVidPnHWCapability

A pointer to the KMDOD's DxgkDdiQueryVidPnHWCapability function.

DxgkDdiPresentDisplayOnly

A pointer to the KMDOD's DxgkDdiPresentDisplayOnly function.

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

A pointer to the KMDOD's DxgkDdiStopDeviceAndReleasePostDisplayOwnership function.

DxgkDdiSystemDisplayEnable

A pointer to the KMDOD's DxgkDdiSystemDisplayEnable function.

DxgkDdiSystemDisplayWrite

A pointer to the KMDOD's DxgkDdiSystemDisplayWrite function.

DxgkDdiGetChildContainerId

A pointer to the KMDOD's DxgkDdiGetChildContainerId function.

DxgkDdiControlInterrupt

A pointer to the KMDOD's DxgkDdiControlInterrupt function.

Note  This function pointer has special requirements. For more information, see Remarks.
 

DxgkDdiSetPowerComponentFState

A pointer to the KMDOD's DxgkDdiSetPowerComponentFState function.

DxgkDdiPowerRuntimeControlRequest

A pointer to the KMDOD's DxgkDdiPowerRuntimeControlRequest function.

DxgkDdiNotifySurpriseRemoval

A pointer to the KMDOD's DxgkDdiNotifySurpriseRemoval function.

DxgkDdiPowerRuntimeSetDeviceHandle

A pointer to the KMDOD's DxgkDdiPowerRuntimeSetDeviceHandle function.

Remarks

If the kernel mode display-only driver (KMDOD) supports the VSync control feature, it must implement all of the DxgkDdiControlInterrupt, DxgkDdiGetScanLine, DxgkDdiInterruptRoutine, and DxgkDdiDpcRoutine functions and must provide valid function pointers to all of these functions in this structure. Conversely, if the KMDOD does not support the VSync control feature, it must not implement either DxgkDdiControlInterrupt or DxgkDdiGetScanLine functions and must not provide valid function pointers to either of these functions in this structure. For more information, see Saving Energy with VSync Control.

Requirements

Requirement Value
Minimum supported client Windows 8
Minimum supported server Windows Server 2012
Header dispmprt.h (include Dispmprt.h)

See also

DriverEntry of Display Miniport Driver

DxgkInitializeDisplayOnlyDriver