structure KMDDOD_INITIALIZATION_DATA (dispmprt.h)

Contient des pointeurs vers les fonctions implémentées par un pilote d’affichage uniquement en mode noyau (KMDOD). La fonction DriverEntry de KMDOD fournit au sous-système du noyau graphique Microsoft DirectX des points d’entrée en remplissant les membres de cette structure.

Syntaxe

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;

Membres

Version

Entier positif qui indique la version de l’interface fonctionnelle implémentée par le KMDOD. Le KMDOD doit définir ce membre sur DXGKDDI_INTERFACE_VERSION, ce qui est défini dans Dispmprt.h.

DxgkDdiAddDevice

Pointeur vers la fonction DxgkDdiAddDevice du KMDOD.

DxgkDdiStartDevice

Pointeur vers la fonction DxgkDdiStartDevice du KMDOD.

DxgkDdiStopDevice

Pointeur vers la fonction DxgkDdiStopDevice du KMDOD.

DxgkDdiRemoveDevice

Pointeur vers la fonction DxgkDdiRemoveDevice du KMDOD.

DxgkDdiDispatchIoRequest

Pointeur vers la fonction DxgkDdiDispatchIoRequest du KMDOD.

DxgkDdiInterruptRoutine

Pointeur vers la fonction DxgkDdiInterruptRoutine du KMDOD.

Note Ce pointeur de fonction a des exigences spéciales. Pour plus d'informations, consultez la section Notes.
 

DxgkDdiDpcRoutine

Pointeur vers la fonction DxgkDdiDpcRoutine du KMDOD.

Note Ce pointeur de fonction a des exigences spéciales. Pour plus d'informations, consultez la section Notes.
 

DxgkDdiQueryChildRelations

Pointeur vers la fonction DxgkDdiQueryChildRelations de KMDOD.

DxgkDdiQueryChildStatus

Pointeur vers la fonction DxgkDdiQueryChildStatus du KMDOD.

DxgkDdiQueryDeviceDescriptor

Pointeur vers la fonction DxgkDdiQueryDeviceDescriptor de KMDOD.

DxgkDdiSetPowerState

Pointeur vers la fonction DxgkDdiSetPowerState du KMDOD.

DxgkDdiNotifyAcpiEvent

Pointeur vers la fonction DxgkDdiNotifyAcpiEvent du KMDOD.

DxgkDdiResetDevice

Pointeur vers la fonction DxgkDdiResetDevice du KMDOD.

DxgkDdiUnload

Pointeur vers la fonction DxgkDdiUnload du KMDOD.

DxgkDdiQueryInterface

Pointeur vers la fonction DxgkDdiQueryInterface du KMDOD.

DxgkDdiControlEtwLogging

Pointeur vers la fonction DxgkDdiControlEtwLogging du KMDOD.

DxgkDdiQueryAdapterInfo

Pointeur vers la fonction DxgkDdiQueryAdapterInfo du KMDOD.

DxgkDdiSetPalette

Pointeur vers la fonction DxgkDdiSetPalette du KMDOD qui définit la palette pour l’affichage.

DxgkDdiSetPointerPosition

Pointeur vers la fonction DxgkDdiSetPointerPosition du KMDOD.

DxgkDdiSetPointerShape

Pointeur vers la fonction DxgkDdiSetPointerShape du KMDOD.

DxgkDdiEscape

Pointeur vers la fonction DxgkDdiEscape du KMDOD.

DxgkDdiCollectDbgInfo

Pointeur vers la fonction DxgkDdiCollectDbgInfo du KMDOD.

DxgkDdiIsSupportedVidPn

Pointeur vers la fonction DxgkDdiIsSupportedVidPn du KMDOD.

DxgkDdiRecommendFunctionalVidPn

Pointeur vers la fonction DxgkDdiRecommendFunctionalVidPn de KMDOD.

DxgkDdiEnumVidPnCofuncModality

Pointeur vers la fonction DxgkDdiEnumVidPnCofuncModality de KMDOD.

DxgkDdiSetVidPnSourceVisibility

Pointeur vers la fonction DxgkDdiSetVidPnSourceVisibility du KMDOD.

DxgkDdiCommitVidPn

Pointeur vers la fonction DxgkDdiCommitVidPn du KMDOD.

DxgkDdiUpdateActiveVidPnPresentPath

Pointeur vers la fonction DxgkDdiUpdateActiveVidPnPresentPath de KMDOD.

DxgkDdiRecommendMonitorModes

Pointeur vers la fonction DxgkDdiRecommendMonitorModes du KMDOD.

DxgkDdiGetScanLine

Pointeur vers la fonction DxgkDdiGetScanLine du KMDOD.

Note Ce pointeur de fonction a des exigences spéciales. Pour plus d'informations, consultez la section Notes.
 

DxgkDdiQueryVidPnHWCapability

Pointeur vers la fonction DxgkDdiQueryVidPnHWCapability de KMDOD.

DxgkDdiPresentDisplayOnly

Pointeur vers la fonction DxgkDdiPresentDisplayOnly de KMDOD.

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

Pointeur vers la fonction DxgkDdiStopDeviceAndReleasePostDisplayOwnership de KMDOD.

DxgkDdiSystemDisplayEnable

Pointeur vers la fonction DxgkDdiSystemDisplayEnable de KMDOD.

DxgkDdiSystemDisplayWrite

Pointeur vers la fonction DxgkDdiSystemDisplayWrite de KMDOD.

DxgkDdiGetChildContainerId

Pointeur vers la fonction DxgkDdiGetChildContainerId du KMDOD.

DxgkDdiControlInterrupt

Pointeur vers la fonction DxgkDdiControlInterrupt du KMDOD.

Note Ce pointeur de fonction a des exigences spéciales. Pour plus d'informations, consultez la section Notes.
 

DxgkDdiSetPowerComponentFState

Pointeur vers la fonction DxgkDdiSetPowerComponentFState de KMDOD.

DxgkDdiPowerRuntimeControlRequest

Pointeur vers la fonction DxgkDdiPowerRuntimeControlRequest de KMDOD.

DxgkDdiNotifySurpriseRemoval

Pointeur vers la fonction DxgkDdiNotifySurpriseRemoval de KMDOD.

DxgkDdiPowerRuntimeSetDeviceHandle

Pointeur vers la fonction DxgkDdiPowerRuntimeSetDeviceHandle de KMDOD.

Remarques

Si le pilote d’affichage uniquement en mode noyau (KMDOD) prend en charge la fonctionnalité de contrôle VSync, il doit implémenter toutes les fonctions DxgkDdiControlInterrupt, DxgkDdiGetScanLine, DxgkDdiInterruptRoutine et DxgkDdiDpcRoutine et doit fournir des pointeurs de fonction valides vers toutes ces fonctions de cette structure. À l’inverse, si kmDOD ne prend pas en charge la fonctionnalité de contrôle VSync, il ne doit pas implémenter les fonctions DxgkDdiControlInterrupt ou DxgkDdiGetScanLine et ne doit pas fournir de pointeurs de fonction valides vers l’une de ces fonctions dans cette structure. Pour plus d’informations, consultez Économies d’énergie avec le contrôle VSync.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
En-tête dispmprt.h (inclure Dispmprt.h)

Voir aussi

DriverEntry of Display Miniport Driver

DxgkInitializeDisplayOnlyDriver