Compartilhar via


estrutura KMDDOD_INITIALIZATION_DATA (dispmprt.h)

Contém ponteiros para funções implementadas por um KMDOD (driver somente exibição) no modo kernel. A função DriverEntry do KMDOD fornece ao subsistema de kernel de elementos gráficos do Microsoft DirectX pontos de entrada preenchendo os membros dessa estrutura.

Sintaxe

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;

Membros

Version

Um inteiro positivo que indica a versão da interface funcional implementada pelo KMDOD. O KMDOD deve definir esse membro como DXGKDDI_INTERFACE_VERSION, que é definido em Dispmprt.h.

DxgkDdiAddDevice

Um ponteiro para a função DxgkDdiAddDevice do KMDOD.

DxgkDdiStartDevice

Um ponteiro para a função DxgkDdiStartDevice do KMDOD.

DxgkDdiStopDevice

Um ponteiro para a função DxgkDdiStopDevice do KMDOD.

DxgkDdiRemoveDevice

Um ponteiro para a função DxgkDdiRemoveDevice do KMDOD.

DxgkDdiDispatchIoRequest

Um ponteiro para a função DxgkDdiDispatchIoRequest do KMDOD.

DxgkDdiInterruptRoutine

Um ponteiro para a função DxgkDdiInterruptRoutine do KMDOD.

Nota Esse ponteiro de função tem requisitos especiais. Para obter mais informações, consulte Comentários.
 

DxgkDdiDpcRoutine

Um ponteiro para a função DxgkDdiDpcRoutine do KMDOD.

Nota Esse ponteiro de função tem requisitos especiais. Para obter mais informações, consulte Comentários.
 

DxgkDdiQueryChildRelations

Um ponteiro para a função DxgkDdiQueryChildRelations do KMDOD.

DxgkDdiQueryChildStatus

Um ponteiro para a função DxgkDdiQueryChildStatus do KMDOD.

DxgkDdiQueryDeviceDescriptor

Um ponteiro para a função DxgkDdiQueryDeviceDescriptor do KMDOD.

DxgkDdiSetPowerState

Um ponteiro para a função DxgkDdiSetPowerState do KMDOD.

DxgkDdiNotifyAcpiEvent

Um ponteiro para a função DxgkDdiNotifyAcpiEvent do KMDOD.

DxgkDdiResetDevice

Um ponteiro para a função DxgkDdiResetDevice do KMDOD.

DxgkDdiUnload

Um ponteiro para a função DxgkDdiUnload do KMDOD.

DxgkDdiQueryInterface

Um ponteiro para a função DxgkDdiQueryInterface do KMDOD.

DxgkDdiControlEtwLogging

Um ponteiro para a função DxgkDdiControlEtwLogging do KMDOD.

DxgkDdiQueryAdapterInfo

Um ponteiro para a função DxgkDdiQueryAdapterInfo do KMDOD.

DxgkDdiSetPalette

Um ponteiro para a função DxgkDdiSetPalette do KMDOD que define a paleta para a exibição.

DxgkDdiSetPointerPosition

Um ponteiro para a função DxgkDdiSetPointerPosition do KMDOD.

DxgkDdiSetPointerShape

Um ponteiro para a função DxgkDdiSetPointerShape do KMDOD.

DxgkDdiEscape

Um ponteiro para a função DxgkDdiEscape do KMDOD.

DxgkDdiCollectDbgInfo

Um ponteiro para a função DxgkDdiCollectDbgInfo do KMDOD.

DxgkDdiIsSupportedVidPn

Um ponteiro para a função DxgkDdiIsSupportedVidPn do KMDOD.

DxgkDdiRecommendFunctionalVidPn

Um ponteiro para a função DxgkDdiRecommendFunctionalVidPn do KMDOD.

DxgkDdiEnumVidPnCofuncModality

Um ponteiro para a função DxgkDdiEnumVidPnCofuncModality do KMDOD.

DxgkDdiSetVidPnSourceVisibility

Um ponteiro para a função DxgkDdiSetVidPnSourceVisibility do KMDOD.

DxgkDdiCommitVidPn

Um ponteiro para a função DxgkDdiCommitVidPn do KMDOD.

DxgkDdiUpdateActiveVidPnPresentPath

Um ponteiro para a função DxgkDdiUpdateActiveVidPnPresentPath do KMDOD.

DxgkDdiRecommendMonitorModes

Um ponteiro para a função DxgkDdiRecommendMonitorModes do KMDOD.

DxgkDdiGetScanLine

Um ponteiro para a função DxgkDdiGetScanLine do KMDOD.

Nota Esse ponteiro de função tem requisitos especiais. Para obter mais informações, consulte Comentários.
 

DxgkDdiQueryVidPnHWCapability

Um ponteiro para a função DxgkDdiQueryVidPnHWCapability do KMDOD.

DxgkDdiPresentDisplayOnly

Um ponteiro para a função DxgkDdiPresentDisplayOnly do KMDOD.

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

Um ponteiro para a função DxgkDdiStopDeviceAndReleasePostDisplayOwnership do KMDOD.

DxgkDdiSystemDisplayEnable

Um ponteiro para a função DxgkDdiSystemDisplayEnable do KMDOD.

DxgkDdiSystemDisplayWrite

Um ponteiro para a função DxgkDdiSystemDisplayWrite do KMDOD.

DxgkDdiGetChildContainerId

Um ponteiro para a função DxgkDdiGetChildContainerId do KMDOD.

DxgkDdiControlInterrupt

Um ponteiro para a função DxgkDdiControlInterrupt do KMDOD.

Nota Esse ponteiro de função tem requisitos especiais. Para obter mais informações, consulte Comentários.
 

DxgkDdiSetPowerComponentFState

Um ponteiro para a função DxgkDdiSetPowerComponentFState do KMDOD.

DxgkDdiPowerRuntimeControlRequest

Um ponteiro para a função DxgkDdiPowerRuntimeControlRequest do KMDOD.

DxgkDdiNotifySurpriseRemoval

Um ponteiro para a função DxgkDdiNotifySurpriseRemoval do KMDOD.

DxgkDdiPowerRuntimeSetDeviceHandle

Um ponteiro para a função DxgkDdiPowerRuntimeSetDeviceHandle do KMDOD.

Comentários

Se o driver somente exibição do modo kernel (KMDOD) der suporte ao recurso de controle VSync, ele deverá implementar todas as funções DxgkDdiControlInterrupt, DxgkDdiGetScanLine, DxgkDdiInterruptRoutine e DxgkDdiDpcRoutine e deve fornecer ponteiros de função válidos para todas essas funções nessa estrutura. Por outro lado, se o KMDOD não dá suporte ao recurso de controle VSync, ele não deve implementar as funções DxgkDdiControlInterrupt ou DxgkDdiGetScanLine e não deve fornecer ponteiros de função válidos para nenhuma dessas funções nessa estrutura. Para obter mais informações, confira Como economizar energia com o controle VSync.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8
Servidor mínimo com suporte Windows Server 2012
Cabeçalho dispmprt.h (inclua Dispmprt.h)

Confira também

DriverEntry of Display Miniport Driver

DxgkInitializeDisplayOnlyDriver