structure DXGKRNL_INTERFACE (dispmprt.h)
La structure DXGKRNL_INTERFACE contient un handle vers une carte d’affichage et un ensemble de pointeurs vers des fonctions implémentées par le pilote de port d’affichage, qui fait partie de Dxgkrnl.
Syntaxe
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;
Membres
Size
Entier qui indique la taille, en octets, de cette structure.
Version
Entier positif qui indique la version de l’interface fonctionnelle implémentée par le pilote de port d’affichage. La version peut être l’une des valeurs DXGKDDI_INTERFACE_VERSION_XXX définies dans D3dukmdt.h.
DeviceHandle
Handle, généré par le pilote de port d’affichage, qui représente une carte d’affichage. Le pilote miniport d’affichage transmet le handle comme argument chaque fois qu’il appelle l’une des fonctions dans DXGKRNL_INTERFACE.
DxgkCbEvalAcpiMethod
Pointeur vers la fonction DxgkCbEvalAcpiMethod du pilote de port d’affichage.
DxgkCbGetDeviceInformation
Pointeur vers la fonction DxgkCbGetDeviceInformation du pilote de port d’affichage.
DxgkCbIndicateChildStatus
Pointeur vers la fonction DxgkCbIndicateChildStatus du pilote de port d’affichage.
DxgkCbMapMemory
Pointeur vers la fonction DxgkCbMapMemory du pilote de port d’affichage.
DxgkCbQueueDpc
Pointeur vers la fonction DxgkCbQueueDpc du pilote de port d’affichage.
DxgkCbQueryServices
Pointeur vers la fonction DxgkCbQueryServices du pilote de port d’affichage.
DxgkCbReadDeviceSpace
Pointeur vers la fonction DxgkCbReadDeviceSpace du pilote de port d’affichage.
DxgkCbSynchronizeExecution
Pointeur vers la fonction DxgkCbSynchronizeExecution du pilote de port d’affichage.
DxgkCbUnmapMemory
Pointeur vers la fonction DxgkCbUnmapMemory du pilote de port d’affichage.
DxgkCbWriteDeviceSpace
Pointeur vers la fonction DxgkCbWriteDeviceSpace du pilote de port d’affichage.
DxgkCbIsDevicePresent
Pointeur vers la fonction DxgkCbIsDevicePresent du pilote de port d’affichage.
DxgkCbGetHandleData
Pointeur vers la fonction DxgkCbGetHandleData du pilote de port d’affichage.
DxgkCbGetHandleParent
Pointeur vers la fonction DxgkCbGetHandleParent du pilote de port d’affichage.
DxgkCbEnumHandleChildren
Pointeur vers la fonction DxgkCbEnumHandleChildren du pilote de port d’affichage.
DxgkCbNotifyInterrupt
Pointeur vers la fonction DxgkCbNotifyInterrupt du pilote de port d’affichage.
DxgkCbNotifyDpc
Pointeur vers la fonction DxgkCbNotifyDpc du pilote de port d’affichage.
DxgkCbQueryVidPnInterface
Pointeur vers la fonction DxgkCbQueryVidPnInterface du pilote de port d’affichage.
DxgkCbQueryMonitorInterface
Pointeur vers la fonction DxgkCbQueryMonitorInterface du pilote de port d’affichage.
DxgkCbGetCaptureAddress
Pointeur vers la fonction DxgkCbGetCaptureAddress du pilote de port d’affichage.
DxgkCbLogEtwEvent
Pointeur vers la fonction DxgkCbLogEtwEvent du pilote de port d’affichage.
DxgkCbExcludeAdapterAccess
Pointeur vers la fonction DxgkCbExcludeAdapterAccess du pilote de port d’affichage.
DxgkCbCreateContextAllocation
Pointeur vers la fonction DxgkCbCreateContextAllocation du pilote de port d’affichage. Pris en charge à partir de Windows 8.
DxgkCbDestroyContextAllocation
Pointeur vers la fonction DxgkCbDestroyContextAllocation du pilote de port d’affichage. Pris en charge à partir de Windows 8.
DxgkCbSetPowerComponentActive
Pointeur vers la fonction DxgkCbSetPowerComponentActive du pilote de port d’affichage. Pris en charge à partir de Windows 8.
DxgkCbSetPowerComponentIdle
Pointeur vers la fonction DxgkCbSetPowerComponentIdle du pilote de port d’affichage. Pris en charge à partir de Windows 8.
DxgkCbAcquirePostDisplayOwnership
Pointeur vers la fonction DxgkCbAcquirePostDisplayOwnership du pilote de port d’affichage. Pris en charge à partir de Windows 8.
DxgkCbPowerRuntimeControlRequest
Pointeur vers la fonction DxgkCbPowerRuntimeControlRequest du pilote de port d’affichage. Pris en charge à partir de Windows 8.
DxgkCbSetPowerComponentLatency
Pointeur vers la fonction DxgkCbSetPowerComponentLatency du pilote de port d’affichage. Pris en charge à partir de Windows 8.
DxgkCbSetPowerComponentResidency
Pointeur vers la fonction DxgkCbSetPowerComponentResidency du pilote de port d’affichage. Pris en charge à partir de Windows 8.
DxgkCbCompleteFStateTransition
Pointeur vers la fonction DxgkCbCompleteFStateTransition du pilote de port d’affichage. Pris en charge à partir de Windows 8.
DxgkCbCompletePStateTransition
Réservé pour le système. N’utilisez pas dans votre pilote. Pris en charge à partir de Windows 8.1.
DxgkCbMapContextAllocation
Pointeur vers la fonction DXGKCB_MAPCONTEXTALLOCATION du pilote de port d’affichage. Pris en charge à partir de WDDM 2.0.
DxgkCbUpdateContextAllocation
Pointeur vers la fonction DXGKCB_UPDATECONTEXTALLOCATION du pilote de port d’affichage. Pris en charge à partir de WDDM 2.0.
DxgkCbReserveGpuVirtualAddressRange
Pointeur vers la fonction DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE du pilote de port d’affichage. Pris en charge à partir de WDDM 2.0.
DxgkCbAcquireHandleData
Pointeur vers la fonction DXGKCB_ACQUIREHANDLEDATA du pilote de port d’affichage. Pris en charge à partir de WDDM 2.0.
DxgkCbReleaseHandleData
Pointeur vers la fonction DXGKCB_RELEASEHANDLEDATA du pilote de port d’affichage. Pris en charge à partir de WDDM 2.0.
DxgkCbHardwareContentProtectionTeardown
Pointeur vers la fonction DXGKCB_HARDWARECONTENTPROTECTIONTEARDOWN du pilote de port d’affichage. Pris en charge à partir de WDDM 2.0.
DxgkCbMultiPlaneOverlayDisabled
Pointeur vers la fonction DXGKCB_MULTIPLANEOVERLAYDISABLED du pilote de port d’affichage. Pris en charge à partir de WDDM 2.1.
DxgkCbMitigatedRangeUpdate
Pointeur vers la fonction DXGKCB_MITIGATEDRANGEUPDATE du pilote de port d’affichage. Pris en charge à partir de WDDM 2.1.
DxgkCbInvalidateHwContext
Pointeur vers la fonction DXGKCB_INVALIDATEHWCONTEXT du pilote de port d’affichage. Pris en charge à partir de WDDM 2.2.
DxgkCbIndicateConnectorChange
Pointeur vers la fonction DXGKCB_INDICATE_CONNECTOR_CHANGE du pilote de port d’affichage. Pris en charge à partir de WDDM 2.2.
DxgkCbUnblockUEFIFrameBufferRanges
Pointeur vers la fonction DXGKCB_UNBLOCKUEFIFRAMEBUFFERRANGES du pilote de port d’affichage. Pris en charge à partir de WDDM 2.2.
DxgkCbAcquirePostDisplayOwnership2
Pointeur vers la fonction DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP2 du pilote de port d’affichage. Pris en charge à partir de WDDM 2.2.
DxgkCbSetProtectedSessionStatus
Pointeur vers la fonction DXGKCB_SETPROTECTEDSESSIONSTATUS du pilote de port d’affichage. Pris en charge à partir de WDDM 2.3.
DxgkCbAllocateContiguousMemory
Pointeur vers la fonction DXGKCB_ALLOCATECONTIGUOUSMEMORY du pilote de port d’affichage. Pris en charge à partir de WDDM 2.4.
DxgkCbFreeContiguousMemory
Pointeur vers la fonction DXGKCB_FREECONTIGUOUSMEMORY du pilote de port d’affichage. Pris en charge à partir de WDDM 2.4.
DxgkCbAllocatePagesForMdl
Pointeur vers la fonction DXGKCB_ALLOCATEPAGESFORMDL du pilote de port d’affichage. Pris en charge à partir de WDDM 2.4.
DxgkCbFreePagesFromMdl
Pointeur vers la fonction DXGKCB_FREEPAGESFROMMDL du pilote de port d’affichage. Pris en charge à partir de WDDM 2.4.
DxgkCbPinFrameBufferForSave
Pointeur vers la fonction DXGKCB_PINFRAMEBUFFERFORSAVE du pilote de port d’affichage. Pris en charge à partir de WDDM 2.4.
DxgkCbUnpinFrameBufferForSave
Pointeur vers la fonction DXGKCB_UNPINFRAMEBUFFERFORSAVE du pilote de port d’affichage. Pris en charge à partir de WDDM 2.4.
DxgkCbMapFrameBufferPointer
Pointeur vers la fonction DXGKCB_MAPFRAMEBUFFERPOINTER du pilote de port d’affichage. Pris en charge à partir de WDDM 2.4.
DxgkCbUnmapFrameBufferPointer
Pointeur vers la fonction DXGKCB_UNMAPFRAMEBUFFERPOINTER du pilote de port d’affichage. Pris en charge à partir de WDDM 2.4.
DxgkCbMapMdlToIoMmu
Pointeur vers la fonction DXGKCB_MAPMDLTOIOMMU du pilote de port d’affichage. Pris en charge à partir de WDDM 2.4.
DxgkCbUnmapMdlFromIoMmu
Pointeur vers la fonction DXGKCB_UNMAPMDLFROMIOMMU du pilote de port d’affichage. Pris en charge à partir de WDDM 2.4.
DxgkCbReportDiagnostic
Pointeur vers la fonction DXGKCB_REPORT_DIAGNOSTIC du pilote de port d’affichage. Pris en charge à partir de WDDM 2.4.
DxgkCbSignalEvent
Pointeur vers la fonction DXGKCB_SIGNALEVENT du pilote de port d’affichage. Pris en charge à partir de WDDM 2.5.
DxgkCbIsFeatureEnabled
Pointeur vers la fonction DXGKCB_ISFEATUREENABLED du pilote de port d’affichage. Pris en charge à partir de WDDM 2.6.
DxgkCbSaveMemoryForHotUpdate
Pointeur vers la fonction DXGKCB_SAVEMEMORYFORHOTUPDATE du pilote de port d’affichage. Pris en charge à partir de WDDM 2.6.
DxgkCbNotifyCursorSupportChange
Pointeur vers la fonction DXGKCB_NOTIFYCURSORSUPPORTCHANGE du pilote de port d’affichage. Pris en charge à partir de WDDM 2.8.
DxgkCbQueryFeatureSupport
Pointeur vers la fonction DXGKCB_QUERYFEATURESUPPORT du pilote de port d’affichage. Pris en charge à partir de WDDM 2.9.
DxgkCbCreatePhysicalMemoryObject
Pointeur vers la fonction DXGKCB_CREATEPHYSICALMEMORYOBJECT du pilote de port d’affichage. Pris en charge à partir de WDDM 2.9.
DxgkCbDestroyPhysicalMemoryObject
Pointeur vers la fonction DXGKCB_DESTROYPHYSICALMEMORYOBJECT du pilote de port d’affichage. Pris en charge à partir de WDDM 2.9.
DxgkCbMapPhysicalMemory
Pointeur vers la fonction DXGKCB_MAPPHYSICALMEMORY du pilote de port d’affichage. Pris en charge à partir de WDDM 2.9.
DxgkCbUnmapPhysicalMemory
Pointeur vers la fonction DXGKCB_UNMAPPHYSICALMEMORY du pilote de port d’affichage. Pris en charge à partir de WDDM 2.9.
DxgkCbAllocateAdl
Pointeur vers la fonction DXGKCB_ALLOCATEADL du pilote de port d’affichage. Pris en charge à partir de WDDM 2.9.
DxgkCbFreeAdl
Pointeur vers la fonction DXGKCB_FREEADL du pilote de port d’affichage. Pris en charge à partir de WDDM 2.9.
DxgkCbOpenPhysicalMemoryObject
Pointeur vers la fonction DXGKCB_OPENPHYSICALMEMORYOBJECT du pilote de port d’affichage. Pris en charge à partir de WDDM 2.9.
DxgkCbClosePhysicalMemoryObject
Pointeur vers la fonction DXGKCB_CLOSEPHYSICALMEMORYOBJECT du pilote de port d’affichage. Pris en charge à partir de WDDM 2.9.
DxgkCbPinFrameBufferForSave2
Pointeur vers la fonction DXGKCB_PINFRAMEBUFFERFORSAVE2 du pilote de port d’affichage. Pris en charge à partir de WDDM 2.9.
DxgkCbDisconnectDoorbell
Pointeur vers la fonction DXGKCB_DISCONNECTDOORBELL du pilote de port d’affichage. Pris en charge à partir de WDDM 3.1.
Remarques
Les fonctions sont implémentées par le pilote de port d’affichage et appelées par le pilote miniport d’affichage. Le pilote de port d’affichage fournit au pilote miniport d’affichage les points de poignée et de fonction en passant une structure DXGKRNL_INTERFACE à DxgkDdiStartDevice.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
En-tête | dispmprt.h (inclure Dispmprt.h) |