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