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 控制功能,则必须实现所有 DxgkDdiControlInterrupt、 DxgkDdiGetScanLine、 DxgkDdiInterruptRoutine 和 DxgkDdidiDpcRoutine 函数,并且必须提供指向此结构中所有这些函数的有效函数指针。 相反,如果 KMDOD 不支持 VSync 控制功能,则它不得实现 DxgkDdiControlInterrupt 或 DxgkDdiGetScanLine 函数,并且不得提供指向此结构中任一函数的有效函数指针。 有关详细信息,请参阅 使用 VSync 控制节省能源。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 |
最低受支持的服务器 | Windows Server 2012 |
标头 | dispmprt.h (包括 Dispmprt.h) |