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, DxgkDdiInterruptRoutineDxgkDdiDpcRoutine 함수를 모두 구현해야 하며 이 구조의 모든 함수에 유효한 함수 포인터를 제공해야 합니다. 반대로 KMDOD가 VSync 컨트롤 기능을 지원하지 않는 경우 DxgkDdiControlInterrupt 또는 DxgkDdiGetScanLine 함수를 구현해서는 안 되며 이 구조체에서 이러한 함수 중 하나에 유효한 함수 포인터를 제공하지 않아야 합니다. 자세한 내용은 VSync Control을 사용하여 에너지 절약을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
지원되는 최소 서버 Windows Server 2012
머리글 dispmprt.h(Dispmprt.h 포함)

추가 정보

디스플레이 미니포트 드라이버의 DriverEntry

DxgkInitializeDisplayOnlyDriver