D3DDDI_DEVICECALLBACKS-Struktur (d3dumddi.h)

Die D3DDDI_DEVICECALLBACKS-Struktur enthält Rückruffunktionen der Microsoft Direct3D-Runtime, die der Benutzermodusanzeigetreiber verwenden kann.

Syntax

typedef struct _D3DDDI_DEVICECALLBACKS {
  PFND3DDDI_ALLOCATECB                            pfnAllocateCb;
  PFND3DDDI_DEALLOCATECB                          pfnDeallocateCb;
  PFND3DDDI_SETPRIORITYCB                         pfnSetPriorityCb;
  PFND3DDDI_QUERYRESIDENCYCB                      pfnQueryResidencyCb;
  PFND3DDDI_SETDISPLAYMODECB                      pfnSetDisplayModeCb;
  PFND3DDDI_PRESENTCB                             pfnPresentCb;
  PFND3DDDI_RENDERCB                              pfnRenderCb;
  PFND3DDDI_LOCKCB                                pfnLockCb;
  PFND3DDDI_UNLOCKCB                              pfnUnlockCb;
  PFND3DDDI_ESCAPECB                              pfnEscapeCb;
  PFND3DDDI_CREATEOVERLAYCB                       pfnCreateOverlayCb;
  PFND3DDDI_UPDATEOVERLAYCB                       pfnUpdateOverlayCb;
  PFND3DDDI_FLIPOVERLAYCB                         pfnFlipOverlayCb;
  PFND3DDDI_DESTROYOVERLAYCB                      pfnDestroyOverlayCb;
  PFND3DDDI_CREATECONTEXTCB                       pfnCreateContextCb;
  PFND3DDDI_DESTROYCONTEXTCB                      pfnDestroyContextCb;
  PFND3DDDI_CREATESYNCHRONIZATIONOBJECTCB         pfnCreateSynchronizationObjectCb;
  PFND3DDDI_DESTROYSYNCHRONIZATIONOBJECTCB        pfnDestroySynchronizationObjectCb;
  PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTCB        pfnWaitForSynchronizationObjectCb;
  PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB         pfnSignalSynchronizationObjectCb;
  PFND3DDDI_SETASYNCCALLBACKSCB                   pfnSetAsyncCallbacksCb;
  PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB       pfnSetDisplayPrivateDriverFormatCb;
  PFND3DDDI_OFFERALLOCATIONSCB                    pfnOfferAllocationsCb;
  PFND3DDDI_RECLAIMALLOCATIONSCB                  pfnReclaimAllocationsCb;
  PFND3DDDI_CREATESYNCHRONIZATIONOBJECT2CB        pfnCreateSynchronizationObject2Cb;
  PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECT2CB       pfnWaitForSynchronizationObject2Cb;
  PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECT2CB        pfnSignalSynchronizationObject2Cb;
  PFND3DDDI_PRESENTMULTIPLANEOVERLAYCB            pfnPresentMultiPlaneOverlayCb;
  PFND3DDDI_LOGUMDMARKERCB                        pfnLogUMDMarkerCb;
  PFND3DDDI_MAKERESIDENTCB                        pfnMakeResidentCb;
  PFND3DDDI_EVICTCB                               pfnEvictCb;
  PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTFROMCPUCB pfnWaitForSynchronizationObjectFromCpuCb;
  PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMCPUCB  pfnSignalSynchronizationObjectFromCpuCb;
  PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTFROMGPUCB pfnWaitForSynchronizationObjectFromGpuCb;
  PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMGPUCB  pfnSignalSynchronizationObjectFromGpuCb;
  PFND3DDDI_CREATEPAGINGQUEUECB                   pfnCreatePagingQueueCb;
  PFND3DDDI_DESTROYPAGINGQUEUECB                  pfnDestroyPagingQueueCb;
  PFND3DDDI_LOCK2CB                               pfnLock2Cb;
  PFND3DDDI_UNLOCK2CB                             pfnUnlock2Cb;
  PFND3DDDI_INVALIDATECACHECB                     pfnInvalidateCacheCb;
  PFND3DDDI_RESERVEGPUVIRTUALADDRESSCB            pfnReserveGpuVirtualAddressCb;
  PFND3DDDI_MAPGPUVIRTUALADDRESSCB                pfnMapGpuVirtualAddressCb;
  PFND3DDDI_FREEGPUVIRTUALADDRESSCB               pfnFreeGpuVirtualAddressCb;
  PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB             pfnUpdateGpuVirtualAddressCb;
  PFND3DDDI_CREATECONTEXTVIRTUALCB                pfnCreateContextVirtualCb;
  PFND3DDDI_SUBMITCOMMANDCB                       pfnSubmitCommandCb;
  PFND3DDDI_DEALLOCATE2CB                         pfnDeallocate2Cb;
  PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMGPU2CB pfnSignalSynchronizationObjectFromGpu2Cb;
  PFND3DDDI_RECLAIMALLOCATIONS2CB                 pfnReclaimAllocations2Cb;
  PFND3DDDI_GETRESOURCEPRESENTPRIVATEDRIVERDATACB pfnGetResourcePresentPrivateDriverDataCb;
  PFND3DDDI_UPDATEALLOCATIONPROPERTYCB            pfnUpdateAllocationPropertyCb;
  PFND3DDDI_OFFERALLOCATIONS2CB                   pfnOfferAllocations2Cb;
  PFND3DDDI_RECLAIMALLOCATIONS3CB                 pfnReclaimAllocations3Cb;
  PFND3DDDI_SYNCTOKENCB                           pfnAcquireResourceCb;
  PFND3DDDI_SYNCTOKENCB                           pfnReleaseResourceCb;
  PFND3DDDI_CREATEHWCONTEXTCB                     pfnCreateHwContextCb;
  PFND3DDDI_DESTROYHWCONTEXTCB                    pfnDestroyHwContextCb;
  PFND3DDDI_CREATEHWQUEUECB                       pfnCreateHwQueueCb;
  PFND3DDDI_DESTROYHWQUEUECB                      pfnDestroyHwQueueCb;
  PFND3DDDI_SUBMITCOMMANDTOHWQUEUECB              pfnSubmitCommandToHwQueueCb;
  PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECB   pfnSubmitWaitForSyncObjectsToHwQueueCb;
  PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECB    pfnSubmitSignalSyncObjectsToHwQueueCb;
  PFND3DDDI_SUBMITPRESENTBLTTOHWQUEUECB           pfnSubmitPresentBltToHwQueueCb;
  PFND3DDDI_SUBMITPRESENTTOHWQUEUECB              pfnSubmitPresentToHwQueueCb;
  PFND3DDDI_SUBMITHISTORYSEQUENCECB               pfnSubmitHistorySequenceCb;
} D3DDDI_DEVICECALLBACKS;

Member

pfnAllocateCb

Ein Zeiger auf die pfnAllocateCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um anzufordern, dass die Direct3D-Runtime eine Speicherbelegung für die Verwendung durch den Treiber erstellt.

pfnDeallocateCb

Ein Zeiger auf die PfnDeallocateCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um anzufordern, dass der zuvor zugewiesene Direct3D-Laufzeitspeicher frei ist.

pfnSetPriorityCb

Ein Zeiger auf die PfnSetPriorityCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um die Priorität einer Ressource oder Einer Liste von Zuordnungen festzulegen.

pfnQueryResidencyCb

Ein Zeiger auf die pfnQueryResidencyCb-Funktion, die der Benutzermodusanzeigetreiber verwendet, um die Residenz status einer Ressource oder Liste von Zuordnungen abzufragen.

pfnSetDisplayModeCb

Ein Zeiger auf die PfnSetDisplayModeCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um eine Zuordnung für die Anzeige festzulegen.

pfnPresentCb

Ein Zeiger auf die pfnPresentCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um einen aktuellen Befehl an den Anzeigeminiporttreiber zu übermitteln.

pfnRenderCb

Ein Zeiger auf die pfnRenderCb-Funktion , die der Anzeigetreiber im Benutzermodus verwendet, um einen Befehlspuffer an den Anzeigeminiporttreiber zu übermitteln.

pfnLockCb

Ein Zeiger auf die pfnLockCb-Funktion , die der Anzeigetreiber im Benutzermodus verwendet, um eine Sperre vom Anzeigeminiporttreiber anzufordern. Diese Sperre kann nicht vollständig vom Benutzermodus-Anzeigetreiber verarbeitet werden.

pfnUnlockCb

Ein Zeiger auf die pfnUnlockCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um den Anzeigeminiporttreiber für eine Entsperrung aufzurufen. Diese Entsperrung kann nicht vollständig vom Benutzermodus-Anzeigetreiber verarbeitet werden.

pfnEscapeCb

Ein Zeiger auf die PfnEscapeCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um Informationen mit dem Anzeigeminiporttreiber zu teilen.

pfnCreateOverlayCb

Ein Zeiger auf die PfnCreateOverlayCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um ein Kernelmodus-Overlayobjekt zu erstellen und anzuzeigen.

pfnUpdateOverlayCb

Ein Zeiger auf die PfnUpdateOverlayCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um ein Kernelmodus-Overlayobjekt zu ändern.

pfnFlipOverlayCb

Ein Zeiger auf die PfnFlipOverlayCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um die zuordnung zu ändern, die von der Überlagerung angezeigt wird.

pfnDestroyOverlayCb

Ein Zeiger auf die PfnDestroyOverlayCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um ein Kernelmodus-Overlayobjekt zu zerstören und die Anzeige des Overlays zu verhindern.

pfnCreateContextCb

Ein Zeiger auf die PfnCreateContextCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um einen Kontext zum Senden von Anforderungen zu erstellen.

pfnDestroyContextCb

Ein Zeiger auf die PfnDestroyContextCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um einen Kontext zu zerstören, den pfnCreateContextCb erstellt hat.

pfnCreateSynchronizationObjectCb

Ein Zeiger auf die PfnCreateSynchronizationObjectCb-Funktion , die der Benutzermodusanzeigetreiber zum Erstellen eines Synchronisierungsobjekts verwendet.

pfnDestroySynchronizationObjectCb

Ein Zeiger auf die PfnDestroySynchronizationObjectCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um ein Synchronisierungsobjekt zu zerstören, das pfnCreateSynchronizationObjectCb erstellt hat.

pfnWaitForSynchronizationObjectCb

Ein Zeiger auf die pfnWaitForSynchronizationObjectCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um auf das Auftreten von Synchronisierungsereignissen zu warten, und verwendet dann, um zurückzugeben.

pfnSignalSynchronizationObjectCb

Ein Zeiger auf die PfnSignalSynchronizationObjectCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um zu signalisieren, dass Synchronisierungsereignisse nicht mehr im Besitz eines Kontexts sind.

pfnSetAsyncCallbacksCb

Ein Zeiger auf die PfnSetAsyncCallbacksCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um die Direct3D-Runtime zu benachrichtigen, ob die Runtime Aufrufe der Rückruffunktionen der Laufzeit von einem Workerthread startet oder nicht mehr empfängt.

Nur DirectX 9- und Direct 9L-Versionen der Runtime unterstützen die PfnSetAsyncCallbacksCb-Funktion . DirectX 10 und höhere Versionen der Runtime legen den PfnSetAsyncCallbacksCb-Member auf NULL fest, wenn die Runtime die CreateDevice(D3D10) -Funktion des Benutzermodusanzeigetreibers aufruft, um ein Renderinggerät zu erstellen.

pfnSetDisplayPrivateDriverFormatCb

Ein Zeiger auf die PfnSetDisplayPrivateDriverFormatCb-Funktion , die der Benutzermodusanzeigetreiber verwendet, um das Format der freigegebenen primären Oberfläche zu ändern.

pfnOfferAllocationsCb

Ein Zeiger auf die pfnOfferAllocationsCb-Funktion , die ein WDDM 1.2 und höher-Benutzermodustreiber aufruft, um Videospeicherbelegungen zur Wiederverwendung anzubieten.

Unterstützt ab Windows 8.

pfnReclaimAllocationsCb

Ein Zeiger auf die PfnReclaimAllocationsCb-Funktion , die ein WDDM 1.2 und höher-Benutzermodus-Anzeigetreiber aufruft, um den Zugriff auf Videospeicherbelegungen freizugeben, die zuvor zur Wiederverwendung angeboten wurden.

Unterstützt ab Windows 8.

pfnCreateSynchronizationObject2Cb

Ein Zeiger auf die PfnCreateSynchronizationObject2Cb-Funktion , die ein WDDM 1.2 und höher-Benutzermodus-Anzeigetreiber verwendet, um ein GPU-Synchronisierungsobjekt zu erstellen.

Unterstützt ab Windows 8.

pfnWaitForSynchronizationObject2Cb

Ein Zeiger auf die PfnWaitForSynchronizationObject2Cb-Funktion , die ein WDDM 1.2 und höher-Benutzermodus-Anzeigetreiber verwendet, um auf das Auftreten von GPU-Synchronisierungsereignissen zu warten und dann zurückzugeben.

Unterstützt ab Windows 8.

pfnSignalSynchronizationObject2Cb

Ein Zeiger auf die PfnSignalSynchronizationObject2Cb-Funktion , die ein WDDM 1.2 und höher-Benutzermodus-Anzeigetreiber verwendet, um zu signalisieren, dass GPU-Synchronisierungsereignisse nicht mehr im Besitz eines Kontexts sind.

Unterstützt ab Windows 8.

pfnPresentMultiPlaneOverlayCb

Ein Zeiger auf die PfnPresentMultiPlaneOverlayCb-Funktion (D3D), die ein WDDM 1.3 und höher-Benutzermodustreiber verwendet, um Inhalte aus einer Mehrplanenüberlagerungszuordnung einer Quellzuordnung in eine Zielzuordnung zu kopieren.

Unterstützt ab Windows 8.1.

pfnLogUMDMarkerCb

Ein Zeiger auf die PfnLogUMDMarkerCb-Funktion , die ein WDDM 1.3 und höher-Benutzermodustreiber aufruft, um ein benutzerdefiniertes ETW-Markerereignis (Event Tracing for Windows) zu protokollieren.

Unterstützt ab Windows 8.1.

pfnMakeResidentCb

Ein Zeiger auf die PfnMakeResidentCb-Funktion .

pfnEvictCb

Ein Zeiger auf die pfnEvictCb-Funktion .

pfnWaitForSynchronizationObjectFromCpuCb

Ein Zeiger auf die pfnWaitForSynchronizationObjectFromCpuCb-Funktion .

pfnSignalSynchronizationObjectFromCpuCb

Ein Zeiger auf die PfnSignalSynchronizationObjectFromCpuCb-Funktion .

pfnWaitForSynchronizationObjectFromGpuCb

Ein Zeiger auf die PfnWaitForSynchronizationObjectFromGpuCb-Funktion .

pfnSignalSynchronizationObjectFromGpuCb

Ein Zeiger auf die PfnSignalSynchronizationObjectFromGpuCb-Funktion .

pfnCreatePagingQueueCb

Ein Zeiger auf die PfnCreatePagingQueueCb-Funktion .

pfnDestroyPagingQueueCb

Ein Zeiger auf die PfnDestroyPagingQueueCb-Funktion .

pfnLock2Cb

Ein Zeiger auf die pfnLock2Cb-Funktion .

pfnUnlock2Cb

Ein Zeiger auf die pfnUnlock2Cb-Funktion .

pfnInvalidateCacheCb

Ein Zeiger auf die PfnInvalidateCacheCb-Funktion .

pfnReserveGpuVirtualAddressCb

Ein Zeiger auf die PfnReserveGpuVirtualAddressCb-Funktion .

pfnMapGpuVirtualAddressCb

Ein Zeiger auf die PfnMapGpuVirtualAddressCb-Funktion .

pfnFreeGpuVirtualAddressCb

Ein Zeiger auf die PfnFreeGpuVirtualAddressCb-Funktion .

pfnUpdateGpuVirtualAddressCb

Ein Zeiger auf die PfnUpdateGpuVirtualAddressCb-Funktion .

pfnCreateContextVirtualCb

Ein Zeiger auf die PfnCreateContextVirtualCb-Funktion .

pfnSubmitCommandCb

Ein Zeiger auf die PfnSubmitCommandCb-Funktion .

pfnDeallocate2Cb

Ein Zeiger auf die pfnDeallocate2Cb-Funktion .

pfnSignalSynchronizationObjectFromGpu2Cb

Ein Zeiger auf die PfnSignalSynchronizationObjectFromGpu2Cb-Funktion .

pfnReclaimAllocations2Cb

Ein Zeiger auf die PfnReclaimAllocations2Cb-Funktion .

pfnGetResourcePresentPrivateDriverDataCb

Ein Zeiger auf die PfnGetResourcePresentPrivateDriverDataCb-Funktion .

pfnUpdateAllocationPropertyCb

Ein Zeiger auf die pfnUpdateAllocationPropertyCb-Funktion .

pfnOfferAllocations2Cb

Ein Zeiger auf die pfnOfferAllocations2Cb-Funktion .

pfnReclaimAllocations3Cb

Ein Zeiger auf die pfnReclaimAllocations3Cb-Funktion .

pfnAcquireResourceCb

pfnReleaseResourceCb

pfnCreateHwContextCb

Ein Zeiger auf eine PFND3DDDI_CREATEHWCONTEXTCB Rückruffunktion.

pfnDestroyHwContextCb

Ein Zeiger auf eine PFND3DDDI_DESTROYHWCONTEXTCB Rückruffunktion.

pfnCreateHwQueueCb

Ein Zeiger auf eine PFND3DDDI_CREATEHWQUEUECB Rückruffunktion.

pfnDestroyHwQueueCb

Ein Zeiger auf eine PFND3DDDI_DESTROYHWQUEUECB Rückruffunktion.

pfnSubmitCommandToHwQueueCb

Ein Zeiger auf eine PFND3DDDI_SUBMITCOMMANDTOHWQUEUECB Rückruffunktion.

pfnSubmitWaitForSyncObjectsToHwQueueCb

Ein Zeiger auf eine PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECB Rückruffunktion.

pfnSubmitSignalSyncObjectsToHwQueueCb

Ein Zeiger auf eine PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECB Rückruffunktion.

pfnSubmitPresentBltToHwQueueCb

Ein Zeiger auf eine PFND3DDDI_SUBMITPRESENTBLTTOHWQUEUECB Rückruffunktion.

pfnSubmitPresentToHwQueueCb

Zeiger auf eine PFND3DDDI_SUBMITPRESENTTOHWQUEUECB Rückruffunktion.

pfnSubmitHistorySequenceCb

Zeiger auf eine PFND3DDDI_SUBMITHISTORYSEQUENCECB Rückruffunktion.

Hinweise

Deklarationen für die Rückruffunktionen, auf die D3DDDI_DEVICECALLBACKS Member verweisen, finden Sie in d3dumddi.h.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Kopfzeile d3dumddi.h (include D3dumddi.h)