Поделиться через


структура 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)

См. также раздел

DriverEntry of Display Miniport Driver

DxgkInitializeDisplayOnlyDriver