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 포함) |