KMDDOD_INITIALIZATION_DATA结构(dispmprt.h)

包含由内核模式仅显示驱动程序(KMDOD)实现的函数的指针。 KMDOD 的 DriverEntry 函数通过填写此结构的成员,提供具有入口点的 Microsoft DirectX 图形内核子系统。

语法

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;

成员

Version

一个正整数,指示 KMDOD 实现的功能接口的版本。 KMDOD 必须将此成员设置为 DXGKDDI_INTERFACE_VERSION,该成员在 Dispmprt.h 中定义。

DxgkDdiAddDevice

指向 KMDOD 的 DxgkDdiAddDevice 函数的指针。

DxgkDdiStartDevice

指向 KMDOD DxgkDdiStartDevice 函数的指针。

DxgkDdiStopDevice

指向 KMDOD DxgkDdiStopDevice 函数的指针。

DxgkDdiRemoveDevice

指向 KMDOD DxgkDdiRemoveDevice 函数的指针。

DxgkDdiDispatchIoRequest

指向 KMDOD DxgkDdiDispatchIoRequest 函数的指针。

DxgkDdiInterruptRoutine

指向 KMDOD DxgkDdiInterruptRoutine 函数的指针。

注意 此函数指针具有特殊要求。 有关详细信息,请参阅“备注”。
 

DxgkDdiDpcRoutine

指向 KMDOD 的 DxgkDdiDpcRoutine 函数的指针。

注意 此函数指针具有特殊要求。 有关详细信息,请参阅“备注”。
 

DxgkDdiQueryChildRelations

指向 KMDOD DxgkDdiQueryChildRelations 函数的指针。

DxgkDdiQueryChildStatus

指向 KMDOD DxgkDdiQueryChildStatus 函数的指针。

DxgkDdiQueryDeviceDescriptor

指向 KMDOD DxgkDdiQueryDeviceDescriptor 函数的指针。

DxgkDdiSetPowerState

指向 KMDOD 的 DxgkDdiSetPowerState 函数的指针。

DxgkDdiNotifyAcpiEvent

指向 KMDOD DxgkDdiNotifyAcpiEvent 函数的指针。

DxgkDdiResetDevice

指向 KMDOD 的 DxgkDdiResetDevice 函数的指针。

DxgkDdiUnload

指向 KMDOD DxgkDdiUnload 函数的指针。

DxgkDdiQueryInterface

指向 KMDOD DxgkDdiQueryInterface 函数的指针。

DxgkDdiControlEtwLogging

指向 KMDOD DxgkDdiControlEtwLogging 函数的指针。

DxgkDdiQueryAdapterInfo

指向 KMDOD DxgkDdiQueryAdapterInfo 函数的指针。

DxgkDdiSetPalette

指向 KMDOD DxgkDdiSetPalette 函数的指针,用于设置显示的调色板。

DxgkDdiSetPointerPosition

指向 KMDOD DxgkDdiSetPointerPosition 函数的指针。

DxgkDdiSetPointerShape

指向 KMDOD DxgkDdiSetPointerShape 函数的指针。

DxgkDdiEscape

指向 KMDOD DxgkDdiEscape 函数的指针。

DxgkDdiCollectDbgInfo

指向 KMDOD DxgkDdiCollectDbgInfo 函数的指针。

DxgkDdiIsSupportedVidPn

指向 KMDOD 的 DxgkDdiIsSupportedVidPn 函数的指针。

DxgkDdiRecommendFunctionalVidPn

指向 KMDOD DxgkDdiRecommendFunctionalVidPn 函数的指针。

DxgkDdiEnumVidPnCofuncModality

指向 KMDOD 的 DxgkDdiEnumVidPnCofuncModality 函数的指针。

DxgkDdiSetVidPnSourceVisibility

指向 KMDOD DxgkDdiSetVidPnSourceVisibility 函数的指针。

DxgkDdiCommitVidPn

指向 KMDOD DxgkDdiCommitVidPn 函数的指针。

DxgkDdiUpdateActiveVidPnPresentPath

指向 KMDOD 的 DxgkDdiUpdateActiveVidPnPresentPath 函数的指针。

DxgkDdiRecommendMonitorModes

指向 KMDOD DxgkDdiRecommendMonitorModes 函数的指针。

DxgkDdiGetScanLine

指向 KMDOD DxgkDdiGetScanLine 函数的指针。

注意 此函数指针具有特殊要求。 有关详细信息,请参阅“备注”。
 

DxgkDdiQueryVidPnHWCapability

指向 KMDOD DxgkDdiQueryVidPnHWCapability 函数的指针。

DxgkDdiPresentDisplayOnly

指向 KMDOD DxgkDdiPresentDisplayOnly 函数的指针。

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

指向 KMDOD 的 DxgkDdiStopDeviceAndReleasePostDisplayOwnership 函数的指针。

DxgkDdiSystemDisplayEnable

指向 KMDOD 的 DxgkDdiSystemDisplayEnable 函数的指针。

DxgkDdiSystemDisplayWrite

指向 KMDOD DxgkDdiSystemDisplayWrite 函数的指针。

DxgkDdiGetChildContainerId

指向 KMDOD 的 DxgkDdiGetChildContainerId 函数的指针。

DxgkDdiControlInterrupt

指向 KMDOD DxgkDdiControlInterrupt 函数的指针。

注意 此函数指针具有特殊要求。 有关详细信息,请参阅“备注”。
 

DxgkDdiSetPowerComponentFState

指向 KMDOD DxgkDdiSetPowerComponentFState 函数的指针。

DxgkDdiPowerRuntimeControlRequest

指向 KMDOD DxgkDdiPowerRuntimeControlRequest 函数的指针。

DxgkDdiNotifySurpriseRemoval

指向 KMDOD DxgkDdiNotifySurpriseRemoval 函数的指针。

DxgkDdiPowerRuntimeSetDeviceHandle

指向 KMDOD 的 DxgkDdiPowerRuntimeSetDeviceHandle 函数的指针。

言论

如果内核模式仅显示驱动程序 (KMDOD) 支持 VSync 控制功能, 它必须实现所有 DxgkDdiControlInterruptDxgkDdiGetScanLineDxgkDdiInterruptRoutineDxgkDdiDpcRoutine 函数,并且必须提供指向此结构中所有这些函数的有效函数指针。 相反,如果 KMDOD 不支持 VSync 控制功能,则它不得实现 DxgkDdiControlInterruptDxgkDdiGetScanLine 函数,并且不能提供指向此结构中任一函数的有效函数指针。 有关详细信息,请参阅 使用 VSync Control节能。

要求

要求 价值
最低支持的客户端 Windows 8
支持的最低服务器 Windows Server 2012
标头 dispmprt.h (包括 Dispmprt.h)

另请参阅

显示微型端口驱动程序的 DriverEntry

DxgkInitializeDisplayOnlyDriver