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)

Voir aussi

DxgkDdiStartDevice

DriverEntry of Display Miniport Driver