다음을 통해 공유


DXGKRNL_INTERFACE 구조체(dispmprt.h)

DXGKRNL_INTERFACE 구조체에는 디스플레이 어댑터에 대한 핸들과 Dxgkrnl의 일부인 디스플레이 포트 드라이버에서 구현한 함수에 대한 포인터 집합이 포함되어 있습니다.

구문

typedef struct _DXGKRNL_INTERFACE {
  ULONG                                    Size;
  ULONG                                    Version;
  HANDLE                                   DeviceHandle;
  DXGKCB_EVAL_ACPI_METHOD                  DxgkCbEvalAcpiMethod;
  DXGKCB_GET_DEVICE_INFORMATION            DxgkCbGetDeviceInformation;
  DXGKCB_INDICATE_CHILD_STATUS             DxgkCbIndicateChildStatus;
  DXGKCB_MAP_MEMORY                        DxgkCbMapMemory;
  DXGKCB_QUEUE_DPC                         DxgkCbQueueDpc;
  DXGKCB_QUERY_SERVICES                    DxgkCbQueryServices;
  DXGKCB_READ_DEVICE_SPACE                 DxgkCbReadDeviceSpace;
  DXGKCB_SYNCHRONIZE_EXECUTION             DxgkCbSynchronizeExecution;
  DXGKCB_UNMAP_MEMORY                      DxgkCbUnmapMemory;
  DXGKCB_WRITE_DEVICE_SPACE                DxgkCbWriteDeviceSpace;
  DXGKCB_IS_DEVICE_PRESENT                 DxgkCbIsDevicePresent;
  DXGKCB_GETHANDLEDATA                     DxgkCbGetHandleData;
  DXGKCB_GETHANDLEPARENT                   DxgkCbGetHandleParent;
  DXGKCB_ENUMHANDLECHILDREN                DxgkCbEnumHandleChildren;
  DXGKCB_NOTIFY_INTERRUPT                  DxgkCbNotifyInterrupt;
  DXGKCB_NOTIFY_DPC                        DxgkCbNotifyDpc;
  DXGKCB_QUERYVIDPNINTERFACE               DxgkCbQueryVidPnInterface;
  DXGKCB_QUERYMONITORINTERFACE             DxgkCbQueryMonitorInterface;
  DXGKCB_GETCAPTUREADDRESS                 DxgkCbGetCaptureAddress;
  DXGKCB_LOG_ETW_EVENT                     DxgkCbLogEtwEvent;
  DXGKCB_EXCLUDE_ADAPTER_ACCESS            DxgkCbExcludeAdapterAccess;
  DXGKCB_CREATECONTEXTALLOCATION           DxgkCbCreateContextAllocation;
  DXGKCB_DESTROYCONTEXTALLOCATION          DxgkCbDestroyContextAllocation;
  DXGKCB_SETPOWERCOMPONENTACTIVE           DxgkCbSetPowerComponentActive;
  DXGKCB_SETPOWERCOMPONENTIDLE             DxgkCbSetPowerComponentIdle;
  DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP    DxgkCbAcquirePostDisplayOwnership;
  DXGKCB_POWERRUNTIMECONTROLREQUEST        DxgkCbPowerRuntimeControlRequest;
  DXGKCB_SETPOWERCOMPONENTLATENCY          DxgkCbSetPowerComponentLatency;
  DXGKCB_SETPOWERCOMPONENTRESIDENCY        DxgkCbSetPowerComponentResidency;
  DXGKCB_COMPLETEFSTATETRANSITION          DxgkCbCompleteFStateTransition;
  DXGKCB_COMPLETEPSTATETRANSITION          DxgkCbCompletePStateTransition;
  DXGKCB_MAPCONTEXTALLOCATION              DxgkCbMapContextAllocation;
  DXGKCB_UPDATECONTEXTALLOCATION           DxgkCbUpdateContextAllocation;
  DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE     DxgkCbReserveGpuVirtualAddressRange;
  DXGKCB_ACQUIREHANDLEDATA                 DxgkCbAcquireHandleData;
  DXGKCB_RELEASEHANDLEDATA                 DxgkCbReleaseHandleData;
  DXGKCB_HARDWARECONTENTPROTECTIONTEARDOWN DxgkCbHardwareContentProtectionTeardown;
  DXGKCB_MULTIPLANEOVERLAYDISABLED         DxgkCbMultiPlaneOverlayDisabled;
  DXGKCB_DXGKCB_MITIGATEDRANGEUPDATE       DxgkCbMitigatedRangeUpdate;
  DXGKCB_INVALIDATEHWCONTEXT               DxgkCbInvalidateHwContext;
  DXGKCB_INDICATE_CONNECTOR_CHANGE         DxgkCbIndicateConnectorChange;
  DXGKCB_UNBLOCKUEFIFRAMEBUFFERRANGES      DxgkCbUnblockUEFIFrameBufferRanges;
  DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP2   DxgkCbAcquirePostDisplayOwnership2;
  DXGKCB_SETPROTECTEDSESSIONSTATUS         DxgkCbSetProtectedSessionStatus;
  DXGKCB_ALLOCATECONTIGUOUSMEMORY          DxgkCbAllocateContiguousMemory;
  DXGKCB_FREECONTIGUOUSMEMORY              DxgkCbFreeContiguousMemory;
  DXGKCB_ALLOCATEPAGESFORMDL               DxgkCbAllocatePagesForMdl;
  DXGKCB_FREEPAGESFROMMDL                  DxgkCbFreePagesFromMdl;
  DXGKCB_PINFRAMEBUFFERFORSAVE             DxgkCbPinFrameBufferForSave;
  DXGKCB_UNPINFRAMEBUFFERFORSAVE           DxgkCbUnpinFrameBufferForSave;
  DXGKCB_MAPFRAMEBUFFERPOINTER             DxgkCbMapFrameBufferPointer;
  DXGKCB_UNMAPFRAMEBUFFERPOINTER           DxgkCbUnmapFrameBufferPointer;
  DXGKCB_MAPMDLTOIOMMU                     DxgkCbMapMdlToIoMmu;
  DXGKCB_UNMAPMDLFROMIOMMU                 DxgkCbUnmapMdlFromIoMmu;
  DXGKCB_REPORT_DIAGNOSTIC                 DxgkCbReportDiagnostic;
  DXGKCB_SIGNALEVENT                       DxgkCbSignalEvent;
  DXGKCB_ISFEATUREENABLED                  DxgkCbIsFeatureEnabled;
  DXGKCB_SAVEMEMORYFORHOTUPDATE            DxgkCbSaveMemoryForHotUpdate;
  DXGKCB_NOTIFYCURSORSUPPORTCHANGE         DxgkCbNotifyCursorSupportChange;
  DXGKCB_QUERYFEATURESUPPORT               DxgkCbQueryFeatureSupport;
  DXGKCB_CREATEPHYSICALMEMORYOBJECT        DxgkCbCreatePhysicalMemoryObject;
  DXGKCB_DESTROYPHYSICALMEMORYOBJECT       DxgkCbDestroyPhysicalMemoryObject;
  DXGKCB_MAPPHYSICALMEMORY                 DxgkCbMapPhysicalMemory;
  DXGKCB_UNMAPPHYSICALMEMORY               DxgkCbUnmapPhysicalMemory;
  DXGKCB_ALLOCATEADL                       DxgkCbAllocateAdl;
  DXGKCB_FREEADL                           DxgkCbFreeAdl;
  DXGKCB_OPENPHYSICALMEMORYOBJECT          DxgkCbOpenPhysicalMemoryObject;
  DXGKCB_CLOSEPHYSICALMEMORYOBJECT         DxgkCbClosePhysicalMemoryObject;
  DXGKCB_PINFRAMEBUFFERFORSAVE2            DxgkCbPinFrameBufferForSave2;
  DXGKCB_DISCONNECTDOORBELL                DxgkCbDisconnectDoorbell;
} DXGKRNL_INTERFACE, *PDXGKRNL_INTERFACE;

멤버

Size

이 구조체의 크기(바이트)를 나타내는 정수입니다.

Version

표시 포트 드라이버에 의해 구현된 기능 인터페이스의 버전을 나타내는 양의 정수입니다. 버전은D3dukmdt.h에 정의된 DXGKDDI_INTERFACE_VERSION_XXX 값 중 하나일 수 있습니다.

DeviceHandle

디스플레이 어댑터를 나타내는 디스플레이 포트 드라이버에서 생성된 핸들입니다. 디스플레이 미니포트 드라이버는 DXGKRNL_INTERFACE 함수를 호출할 때마다 핸들을 인수로 전달합니다.

DxgkCbEvalAcpiMethod

디스플레이 포트 드라이버의 DxgkCbEvalAcpiMethod 함수에 대한 포인터입니다.

DxgkCbGetDeviceInformation

디스플레이 포트 드라이버의 DxgkCbGetDeviceInformation 함수에 대한 포인터입니다.

DxgkCbIndicateChildStatus

디스플레이 포트 드라이버의 DxgkCbIndicateChildStatus 함수에 대한 포인터입니다.

DxgkCbMapMemory

디스플레이 포트 드라이버의 DxgkCbMapMemory 함수에 대한 포인터입니다.

DxgkCbQueueDpc

디스플레이 포트 드라이버의 DxgkCbQueueDpc 함수에 대한 포인터입니다.

DxgkCbQueryServices

디스플레이 포트 드라이버의 DxgkCbQueryServices 함수에 대한 포인터입니다 .

DxgkCbReadDeviceSpace

디스플레이 포트 드라이버의 DxgkCbReadDeviceSpace 함수에 대한 포인터입니다.

DxgkCbSynchronizeExecution

디스플레이 포트 드라이버의 DxgkCbSynchronizeExecution 함수에 대한 포인터입니다.

DxgkCbUnmapMemory

디스플레이 포트 드라이버의 DxgkCbUnmapMemory 함수에 대한 포인터입니다.

DxgkCbWriteDeviceSpace

디스플레이 포트 드라이버의 DxgkCbWriteDeviceSpace 함수에 대한 포인터입니다.

DxgkCbIsDevicePresent

디스플레이 포트 드라이버의 DxgkCbIsDevicePresent 함수에 대한 포인터입니다.

DxgkCbGetHandleData

디스플레이 포트 드라이버의 DxgkCbGetHandleData 함수에 대한 포인터입니다.

DxgkCbGetHandleParent

디스플레이 포트 드라이버의 DxgkCbGetHandleParent 함수에 대한 포인터입니다.

DxgkCbEnumHandleChildren

디스플레이 포트 드라이버의 DxgkCbEnumHandleChildren 함수에 대한 포인터입니다.

DxgkCbNotifyInterrupt

디스플레이 포트 드라이버의 DxgkCbNotifyInterrupt 함수에 대한 포인터입니다 .

DxgkCbNotifyDpc

디스플레이 포트 드라이버의 DxgkCbNotifyDpc 함수에 대한 포인터입니다.

DxgkCbQueryVidPnInterface

디스플레이 포트 드라이버의 DxgkCbQueryVidPnInterface 함수에 대한 포인터입니다.

DxgkCbQueryMonitorInterface

디스플레이 포트 드라이버의 DxgkCbQueryMonitorInterface 함수에 대한 포인터입니다.

DxgkCbGetCaptureAddress

디스플레이 포트 드라이버의 DxgkCbGetCaptureAddress 함수에 대한 포인터입니다.

DxgkCbLogEtwEvent

디스플레이 포트 드라이버의 DxgkCbLogEtwEvent 함수에 대한 포인터입니다.

DxgkCbExcludeAdapterAccess

디스플레이 포트 드라이버의 DxgkCbExcludeAdapterAccess 함수에 대한 포인터입니다.

DxgkCbCreateContextAllocation

디스플레이 포트 드라이버의 DxgkCbCreateContextAllocation 함수에 대한 포인터입니다. Windows 8 부터 지원합니다.

DxgkCbDestroyContextAllocation

디스플레이 포트 드라이버의 DxgkCbDestroyContextAllocation 함수에 대한 포인터입니다. Windows 8 부터 지원합니다.

DxgkCbSetPowerComponentActive

디스플레이 포트 드라이버의 DxgkCbSetPowerComponentActive 함수에 대한 포인터입니다. Windows 8 부터 지원합니다.

DxgkCbSetPowerComponentIdle

디스플레이 포트 드라이버의 DxgkCbSetPowerComponentIdle 함수에 대한 포인터입니다. Windows 8 부터 지원합니다.

DxgkCbAcquirePostDisplayOwnership

디스플레이 포트 드라이버의 DxgkCbAcquirePostDisplayOwnership 함수에 대한 포인터입니다. Windows 8 부터 지원합니다.

DxgkCbPowerRuntimeControlRequest

디스플레이 포트 드라이버의 DxgkCbPowerRuntimeControlRequest 함수에 대한 포인터입니다. Windows 8 부터 지원합니다.

DxgkCbSetPowerComponentLatency

디스플레이 포트 드라이버의 DxgkCbSetPowerComponentLatency 함수에 대한 포인터입니다. Windows 8 부터 지원합니다.

DxgkCbSetPowerComponentResidency

디스플레이 포트 드라이버의 DxgkCbSetPowerComponentResidency 함수에 대한 포인터입니다. Windows 8 부터 지원합니다.

DxgkCbCompleteFStateTransition

디스플레이 포트 드라이버의 DxgkCbCompleteFStateTransition 함수에 대한 포인터입니다 . Windows 8 부터 지원합니다.

DxgkCbCompletePStateTransition

시스템에서 사용하도록 예약되었습니다. 드라이버에서 를 사용하지 마세요. Windows 8.1 부터 지원합니다.

DxgkCbMapContextAllocation

디스플레이 포트 드라이버의 DXGKCB_MAPCONTEXTALLOCATION 함수에 대한 포인터입니다. WDDM 2.0부터 지원됩니다.

DxgkCbUpdateContextAllocation

표시 포트 드라이버의 DXGKCB_UPDATECONTEXTALLOCATION 함수에 대한 포인터입니다. WDDM 2.0부터 지원됩니다.

DxgkCbReserveGpuVirtualAddressRange

표시 포트 드라이버의 DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE 함수에 대한 포인터입니다. WDDM 2.0부터 지원됩니다.

DxgkCbAcquireHandleData

표시 포트 드라이버의 DXGKCB_ACQUIREHANDLEDATA 함수에 대한 포인터입니다. WDDM 2.0부터 지원됩니다.

DxgkCbReleaseHandleData

표시 포트 드라이버의 DXGKCB_RELEASEHANDLEDATA 함수에 대한 포인터입니다. WDDM 2.0부터 지원됩니다.

DxgkCbHardwareContentProtectionTeardown

표시 포트 드라이버의 DXGKCB_HARDWARECONTENTPROTECTIONTEARDOWN 함수에 대한 포인터입니다. WDDM 2.0부터 지원됩니다.

DxgkCbMultiPlaneOverlayDisabled

표시 포트 드라이버의 DXGKCB_MULTIPLANEOVERLAYDISABLED 함수에 대한 포인터입니다. WDDM 2.1부터 지원됩니다.

DxgkCbMitigatedRangeUpdate

디스플레이 포트 드라이버의 DXGKCB_MITIGATEDRANGEUPDATE 함수에 대한 포인터입니다. WDDM 2.1부터 지원됩니다.

DxgkCbInvalidateHwContext

표시 포트 드라이버의 DXGKCB_INVALIDATEHWCONTEXT 함수에 대한 포인터입니다. WDDM 2.2부터 지원됩니다.

DxgkCbIndicateConnectorChange

표시 포트 드라이버의 DXGKCB_INDICATE_CONNECTOR_CHANGE 함수에 대한 포인터입니다. WDDM 2.2부터 지원됩니다.

DxgkCbUnblockUEFIFrameBufferRanges

표시 포트 드라이버의 DXGKCB_UNBLOCKUEFIFRAMEBUFFERRANGES 함수에 대한 포인터입니다. WDDM 2.2부터 지원됩니다.

DxgkCbAcquirePostDisplayOwnership2

표시 포트 드라이버의 DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP2 함수에 대한 포인터입니다. WDDM 2.2부터 지원됩니다.

DxgkCbSetProtectedSessionStatus

표시 포트 드라이버의 DXGKCB_SETPROTECTEDSESSIONSTATUS 함수에 대한 포인터입니다. WDDM 2.3부터 지원됩니다.

DxgkCbAllocateContiguousMemory

표시 포트 드라이버의 DXGKCB_ALLOCATECONTIGUOUSMEMORY 함수에 대한 포인터입니다. WDDM 2.4부터 지원됩니다.

DxgkCbFreeContiguousMemory

표시 포트 드라이버의 DXGKCB_FREECONTIGUOUSMEMORY 함수에 대한 포인터입니다. WDDM 2.4부터 지원됩니다.

DxgkCbAllocatePagesForMdl

표시 포트 드라이버의 DXGKCB_ALLOCATEPAGESFORMDL 함수에 대한 포인터입니다. WDDM 2.4부터 지원됩니다.

DxgkCbFreePagesFromMdl

표시 포트 드라이버의 DXGKCB_FREEPAGESFROMMDL 함수에 대한 포인터입니다. WDDM 2.4부터 지원됩니다.

DxgkCbPinFrameBufferForSave

디스플레이 포트 드라이버의 DXGKCB_PINFRAMEBUFFERFORSAVE 함수에 대한 포인터입니다. WDDM 2.4부터 지원됩니다.

DxgkCbUnpinFrameBufferForSave

표시 포트 드라이버의 DXGKCB_UNPINFRAMEBUFFERFORSAVE 함수에 대한 포인터입니다. WDDM 2.4부터 지원됩니다.

DxgkCbMapFrameBufferPointer

디스플레이 포트 드라이버의 DXGKCB_MAPFRAMEBUFFERPOINTER 함수에 대한 포인터입니다. WDDM 2.4부터 지원됩니다.

DxgkCbUnmapFrameBufferPointer

표시 포트 드라이버의 DXGKCB_UNMAPFRAMEBUFFERPOINTER 함수에 대한 포인터입니다. WDDM 2.4부터 지원됩니다.

DxgkCbMapMdlToIoMmu

표시 포트 드라이버의 DXGKCB_MAPMDLTOIOMMU 함수에 대한 포인터입니다. WDDM 2.4부터 지원됩니다.

DxgkCbUnmapMdlFromIoMmu

표시 포트 드라이버의 DXGKCB_UNMAPMDLFROMIOMMU 함수에 대한 포인터입니다. WDDM 2.4부터 지원합니다.

DxgkCbReportDiagnostic

표시 포트 드라이버의 DXGKCB_REPORT_DIAGNOSTIC 함수에 대한 포인터입니다. WDDM 2.4부터 지원합니다.

DxgkCbSignalEvent

표시 포트 드라이버의 DXGKCB_SIGNALEVENT 함수에 대한 포인터입니다. WDDM 2.5부터 지원합니다.

DxgkCbIsFeatureEnabled

표시 포트 드라이버의 DXGKCB_ISFEATUREENABLED 함수에 대한 포인터입니다. WDDM 2.6부터 지원합니다.

DxgkCbSaveMemoryForHotUpdate

표시 포트 드라이버의 DXGKCB_SAVEMEMORYFORHOTUPDATE 함수에 대한 포인터입니다. WDDM 2.6부터 지원합니다.

DxgkCbNotifyCursorSupportChange

표시 포트 드라이버의 DXGKCB_NOTIFYCURSORSUPPORTCHANGE 함수에 대한 포인터입니다. WDDM 2.8부터 지원합니다.

DxgkCbQueryFeatureSupport

표시 포트 드라이버의 DXGKCB_QUERYFEATURESUPPORT 함수에 대한 포인터입니다. WDDM 2.9부터 지원합니다.

DxgkCbCreatePhysicalMemoryObject

표시 포트 드라이버의 DXGKCB_CREATEPHYSICALMEMORYOBJECT 함수에 대한 포인터입니다. WDDM 2.9부터 지원합니다.

DxgkCbDestroyPhysicalMemoryObject

표시 포트 드라이버의 DXGKCB_DESTROYPHYSICALMEMORYOBJECT 함수에 대한 포인터입니다. WDDM 2.9부터 지원합니다.

DxgkCbMapPhysicalMemory

표시 포트 드라이버의 DXGKCB_MAPPHYSICALMEMORY 함수에 대한 포인터입니다. WDDM 2.9부터 지원합니다.

DxgkCbUnmapPhysicalMemory

표시 포트 드라이버의 DXGKCB_UNMAPPHYSICALMEMORY 함수에 대한 포인터입니다. WDDM 2.9부터 지원합니다.

DxgkCbAllocateAdl

표시 포트 드라이버의 DXGKCB_ALLOCATEADL 함수에 대한 포인터입니다. WDDM 2.9부터 지원합니다.

DxgkCbFreeAdl

표시 포트 드라이버의 DXGKCB_FREEADL 함수에 대한 포인터입니다. WDDM 2.9부터 지원합니다.

DxgkCbOpenPhysicalMemoryObject

디스플레이 포트 드라이버의 DXGKCB_OPENPHYSICALMEMORYOBJECT 함수에 대한 포인터입니다. WDDM 2.9부터 지원합니다.

DxgkCbClosePhysicalMemoryObject

표시 포트 드라이버의 DXGKCB_CLOSEPHYSICALMEMORYOBJECT 함수에 대한 포인터입니다. WDDM 2.9부터 지원합니다.

DxgkCbPinFrameBufferForSave2

표시 포트 드라이버의 DXGKCB_PINFRAMEBUFFERFORSAVE2 함수에 대한 포인터입니다. WDDM 2.9부터 지원합니다.

DxgkCbDisconnectDoorbell

표시 포트 드라이버의 DXGKCB_DISCONNECTDOORBELL 함수에 대한 포인터입니다. WDDM 3.1부터 지원합니다.

설명

함수는 디스플레이 포트 드라이버에 의해 구현되고 디스플레이 미니포트 드라이버에서 호출됩니다. 디스플레이 포트 드라이버는 DXGKRNL_INTERFACE 구조를 DxgkDdiStartDevice에 전달하여 디스플레이 미니포트 드라이버에 핸들 및 함수 포인터를 제공합니다.

요구 사항

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

추가 정보

DxgkDdiStartDevice

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