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, DxgkDdiInterruptRoutine 및 DxgkDdiDpcRoutine 함수를 모두 구현해야 하며 이 구조의 모든 함수에 유효한 함수 포인터를 제공해야 합니다. 반대로 KMDOD가 VSync 컨트롤 기능을 지원하지 않는 경우 DxgkDdiControlInterrupt 또는 DxgkDdiGetScanLine 함수를 구현해서는 안 되며 이 구조체에서 이러한 함수 중 하나에 유효한 함수 포인터를 제공하지 않아야 합니다. 자세한 내용은 VSync Control을 사용하여 에너지 절약을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 |
지원되는 최소 서버 | Windows Server 2012 |
머리글 | dispmprt.h(Dispmprt.h 포함) |