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