структура KMDDOD_INITIALIZATION_DATA (dispmprt.h)
Содержит указатели на функции, реализованные драйвером только для отображения в режиме ядра (KMDOD). Функция DriverEntry KMDOD предоставляет подсистеме ядра графики 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
Указатель на функцию DXGkDdiAddDevice KMDOD.
DxgkDdiStartDevice
Указатель на функцию DxgkDdiStartDevice KMDOD.
DxgkDdiStopDevice
Указатель на функцию DXGkDdiStopDevice KMDOD.
DxgkDdiRemoveDevice
Указатель на функцию DXGkDdiRemoveDevice KMDOD.
DxgkDdiDispatchIoRequest
Указатель на функцию DXGkDdiDispatchIoRequest KMDOD.
DxgkDdiInterruptRoutine
Указатель на функцию DxgkDdiInterruptRoutine KMDOD.
DxgkDdiDpcRoutine
Указатель на функцию DXGkDdiDpcRoutine KMDOD.
DxgkDdiQueryChildRelations
Указатель на функцию DXGkDdiQueryChildRelations KMDOD.
DxgkDdiQueryChildStatus
Указатель на функцию DXGkDdiQueryChildStatus KMDOD.
DxgkDdiQueryDeviceDescriptor
Указатель на функцию DXGkDdiQueryDeviceDescriptor KMDOD.
DxgkDdiSetPowerState
Указатель на функцию DXGkDdiSetPowerState KMDOD.
DxgkDdiNotifyAcpiEvent
Указатель на функцию DXGkDdiNotifyAcpiEvent KMDOD.
DxgkDdiResetDevice
Указатель на функцию DXGkDdiResetDevice KMDOD.
DxgkDdiUnload
Указатель на функцию DXGkDdiUnload KMDOD.
DxgkDdiQueryInterface
Указатель на функцию DXGkDdiQueryInterface KMDOD.
DxgkDdiControlEtwLogging
Указатель на функцию DXGkDdiControlEtwLogging KMDOD.
DxgkDdiQueryAdapterInfo
Указатель на функцию DXGkDdiQueryAdapterInfo KMDOD.
DxgkDdiSetPalette
Указатель на функцию DXGkDdiSetPalette KMDOD, которая задает палитру для дисплея.
DxgkDdiSetPointerPosition
Указатель на функцию DXGkDdiSetPointerPosition KMDOD.
DxgkDdiSetPointerShape
Указатель на функцию DXGkDdiSetPointerShape KMDOD.
DxgkDdiEscape
Указатель на функцию DXGkDdiEscape KMDOD.
DxgkDdiCollectDbgInfo
Указатель на функцию DXGkDdiCollectDbgInfo в KMDOD.
DxgkDdiIsSupportedVidPn
Указатель на функцию DXGkDdiIsSupportedVidPn в KMDOD .
DxgkDdiRecommendFunctionalVidPn
Указатель на функцию DXGkDdiRecommendFunctionalVidPn в KMDOD .
DxgkDdiEnumVidPnCofuncModality
Указатель на функцию DXGkDdiEnumVidPnCofuncModality KMDOD.
DxgkDdiSetVidPnSourceVisibility
Указатель на функцию DXGkDdiSetVidPnSourceVisibility KMDOD.
DxgkDdiCommitVidPn
Указатель на функцию DXGkDdiCommitVidPn KMDOD.
DxgkDdiUpdateActiveVidPnPresentPath
Указатель на функцию DXGkDdiUpdateActiveVidPnPresentPath KMDOD.
DxgkDdiRecommendMonitorModes
Указатель на функцию DXGkDdiRecommendMonitorModes KMDOD.
DxgkDdiGetScanLine
Указатель на функцию DXGkDdiGetScanLine KMDOD.
DxgkDdiQueryVidPnHWCapability
Указатель на функцию DXGkDdiQueryVidPnHWCapability KMDOD.
DxgkDdiPresentDisplayOnly
Указатель на функцию DXGkDdiPresentDisplayOnly KMDOD.
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
Указатель на функцию DXGkDdiStopDeviceAndReleasePostDisplayOwnership KMDOD.
DxgkDdiSystemDisplayEnable
Указатель на функцию DXGkDdiSystemDisplayEnable KMDOD.
DxgkDdiSystemDisplayWrite
Указатель на функцию DxgkDdiSystemDisplayWrite KMDOD.
DxgkDdiGetChildContainerId
Указатель на функцию DXGkDdiGetChildContainerId KMDOD .
DxgkDdiControlInterrupt
Указатель на функцию DXGkDdiControlInterrupt KMDOD.
DxgkDdiSetPowerComponentFState
Указатель на функцию DXGkDdiSetPowerComponentFState KMDOD.
DxgkDdiPowerRuntimeControlRequest
Указатель на функцию DXGkDdiPowerRuntimeControlRequest KMDOD.
DxgkDdiNotifySurpriseRemoval
Указатель на функцию DXGkDdiNotifySurpriseRemoval KMDOD.
DxgkDdiPowerRuntimeSetDeviceHandle
Указатель на функцию DXGkDdiPowerRuntimeSetDeviceHandle KMDOD.
Комментарии
Если драйвер режима ядра только для отображения (KMDOD) поддерживает функцию управления VSync, он должен реализовать все функции DxgkDdiControlInterrupt, DxgkDdiGetScanLine, DxgkDdiInterruptRoutine и DxgkDdiDdiDpcRoutine и предоставить допустимые указатели функций для всех этих функций в этой структуре. И наоборот, если KMDOD не поддерживает функцию управления VSync, она не должна реализовывать функции DxgkDdiControlInterrupt или DxgkDdiGetScanLine и не должна предоставлять допустимые указатели на функции в этой структуре. Дополнительные сведения см. в разделе Экономия энергии с помощью VSync Control.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 |
Минимальная версия сервера | Windows Server 2012 |
Верхняя часть | dispmprt.h (включая Dispmprt.h) |