Freigeben über


D3DDDI_DEVICECALLBACKS Struktur (d3dumddi.h)

Die D3DDDI_DEVICECALLBACKS-Struktur enthält Microsoft Direct3D-Laufzeitrückruffunktionen, die der Anzeigetreiber für den Benutzermodus 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;

Angehörige

pfnAllocateCb

Ein Zeiger auf die pfnAllocateCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um anzufordern, dass die Direct3D-Laufzeit eine Speicherzuweisung für die Verwendung durch den Treiber erstellt.

pfnDeallocateCb

Ein Zeiger auf die pfnDeallocateCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um anzufordern, dass die Direct3D-Laufzeit freien Arbeitsspeicher frei hat, der zuvor zugewiesen wurde.

pfnSetPriorityCb

Ein Zeiger auf die pfnSetPriorityCb-Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um die Priorität einer Ressource oder Liste von Zuordnungen festzulegen.

pfnQueryResidencyCb

Ein Zeiger auf die pfnQueryResidencyCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um den Residency-Status einer Ressource oder Liste der Zuordnungen abzufragen.

pfnSetDisplayModeCb

Ein Zeiger auf die pfnSetDisplayModeCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um eine Zuordnung für die Anzeige festzulegen.

pfnPresentCb

Ein Zeiger auf die pfnPresentCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um einen vorhandenen Befehl an den Anzeigeminiporttreiber zu übermitteln.

pfnRenderCb

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

pfnLockCb

Ein Zeiger auf die pfnLockCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um eine Sperre vom Anzeigeminiporttreiber anzufordern. Diese Sperre kann nicht vollständig vom Anzeigetreiber des Benutzermodus behandelt werden.

pfnUnlockCb

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

pfnEscapeCb

Ein Zeiger auf die pfnEscapeCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um Informationen mit dem Anzeigeminiporttreiber freizugeben.

pfnCreateOverlayCb

Ein Zeiger auf die pfnCreateOverlayCb Funktion, die der Anzeigetreiber für den Benutzermodus zum Erstellen und Anzeigen eines Kernelmodus-Overlayobjekts verwendet.

pfnUpdateOverlayCb

Ein Zeiger auf die pfnUpdateOverlayCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um ein Kernelmodus-Overlayobjekt zu ändern.

pfnFlipOverlayCb

Ein Zeiger auf die pfnFlipOverlayCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um die Zuordnung zu ändern, die das Overlay anzeigt.

pfnDestroyOverlayCb

Ein Zeiger auf die pfnDestroyOverlayCb Funktion, die der Anzeigetreiber des Benutzermodus verwendet, um ein Kernelmodus-Overlayobjekt zu zerstören und die Anzeige der Überlagerung zu beenden.

pfnCreateContextCb

Ein Zeiger auf die pfnCreateContextCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um einen Kontext zum Senden von Anforderungen zu erstellen.

pfnDestroyContextCb

Ein Zeiger auf die pfnDestroyContextCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um einen Kontext zu zerstören, der pfnCreateContextCb erstellt.

pfnCreateSynchronizationObjectCb

Ein Zeiger auf die pfnCreateSynchronizationObjectCb Funktion, die der Anzeigetreiber für den Benutzermodus zum Erstellen eines Synchronisierungsobjekts verwendet.

pfnDestroySynchronizationObjectCb

Ein Zeiger auf die pfnDestroySynchronizationObjectCb Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um ein Synchronisierungsobjekt zu zerstören, das pfnCreateSynchronizationObjectCb erstellt.

pfnWaitForSynchronizationObjectCb

Ein Zeiger auf die pfnWaitForSynchronizationObjectCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um zu warten, bis Synchronisierungsereignisse auftreten und dann zum Zurückgeben verwendet werden.

pfnSignalSynchronizationObjectCb

Ein Zeiger auf die pfnSignalSynchronizationObjectCb-Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um zu signalisieren, dass Synchronisierungsereignisse nicht mehr im Besitz eines Kontexts sind.

pfnSetAsyncCallbacksCb

Ein Zeiger auf die pfnSetAsyncCallbacksCb--Funktion, die der Anzeigetreiber für den Benutzermodus verwendet, um die Direct3D-Laufzeit zu benachrichtigen, ob die Laufzeit Aufrufe der Rückruffunktionen der Laufzeit von einem Workerthread startet oder beendet.

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

pfnSetDisplayPrivateDriverFormatCb

Ein Zeiger auf die pfnSetDisplayPrivateDriverFormatCb Funktion, die der Anzeigetreiber für den Benutzermodus 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-Benutzermodus-Anzeigetreiberaufrufe anzeigt, um Videospeicherzuweisungen für die Wiederverwendung bereitzustellen.

Wird ab Windows 8 unterstützt.

pfnReclaimAllocationsCb

Ein Zeiger auf die pfnReclaimAllocationsCb--Funktion, die ein WDDM 1.2- und höher-Benutzermodus-Anzeigetreiber aufruft, um zugriff auf Videospeicherzuweisungen zurückzugeben, die zuvor zur Wiederverwendung angeboten wurden.

Wird ab Windows 8 unterstützt.

pfnCreateSynchronizationObject2Cb

Ein Zeiger auf die pfnCreateSynchronizationObject2Cb--Funktion, die ein WDDM 1.2- und höher-Benutzermodus-Anzeigetreiber zum Erstellen eines GPU-Synchronisierungsobjekts verwendet.

Wird ab Windows 8 unterstützt.

pfnWaitForSynchronizationObject2Cb

Ein Zeiger auf die pfnWaitForSynchronizationObject2Cb--Funktion, die ein WDDM 1.2- und höher-Benutzermodusanzeigetreiber verwendet, um zu warten, bis GPU-Synchronisierungsereignisse auftreten und dann zum Zurückgeben verwendet werden.

Wird ab Windows 8 unterstützt.

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 einem Kontext gehören.

Wird ab Windows 8 unterstützt.

pfnPresentMultiPlaneOverlayCb

Ein Zeiger auf die pfnPresentMultiPlaneOverlayCb (D3D) Funktion, die ein WDDM 1.3- und höher-Benutzermodus-Anzeigetreiber verwendet, um Inhalte aus einer Quell-Multiplane-Überlagerungszuordnung in eine Zielzuordnung zu kopieren.

Wird ab Windows 8.1 unterstützt.

pfnLogUMDMarkerCb

Ein Zeiger auf die pfnLogUMDMarkerCb--Funktion, die ein WDDM 1.3- und höher-Benutzermodus-Anzeigetreiberaufrufe zum Protokollieren eines benutzerdefinierten Ereignisablaufverfolgungsereignisses für Windows (ETW) anzeigt.

Wird ab Windows 8.1 unterstützt.

pfnMakeResidentCb

Ein Zeiger auf die pfnMakeResidentCb--Funktion.

pfnEvictCb

Ein Zeiger auf die pfnEvictCb--Funktion.

pfnWaitForSynchronizationObjectFromCpuCb

Ein Zeiger auf die funktion pfnWaitForSynchronizationObjectFromCpuCb.

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 funktion pfnFreeGpuVirtualAddressCb.

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 funktion pfnGetResourcePresentPrivateDriverDataCb.

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.

Bemerkungen

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
Header- d3dumddi.h (include D3dumddi.h)