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 必须将此成员设置为 dispmprt.h 中定义的 DXGKDDI_INTERFACE_VERSION

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 控制功能,则必须实现所有 DxgkDdiControlInterruptDxgkDdiGetScanLineDxgkDdiInterruptRoutineDxgkDdidiDpcRoutine 函数,并且必须提供指向此结构中所有这些函数的有效函数指针。 相反,如果 KMDOD 不支持 VSync 控制功能,则它不得实现 DxgkDdiControlInterruptDxgkDdiGetScanLine 函数,并且不得提供指向此结构中任一函数的有效函数指针。 有关详细信息,请参阅 使用 VSync 控制节省能源

要求

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

另请参阅

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

DxgkInitializeDisplayOnlyDriver