D3DDDI_DEVICECALLBACKS struttura (d3dumddi.h)
La struttura D3DDDI_DEVICECALLBACKS contiene funzioni di callback del runtime di Microsoft Direct3D che il driver di visualizzazione in modalità utente può usare.
Sintassi
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;
Members
pfnAllocateCb
Puntatore alla funzione pfnAllocateCb , che il driver di visualizzazione in modalità utente usa per richiedere che il runtime Direct3D crei un'allocazione di memoria da usare dal driver.
pfnDeallocateCb
Puntatore alla funzione pfnDeallocateCb, utilizzata dal driver di visualizzazione in modalità utente per richiedere che la memoria di runtime Direct3D sia stata allocata in precedenza.
pfnSetPriorityCb
Puntatore alla funzione pfnSetPriorityCb , che il driver di visualizzazione in modalità utente usa per impostare la priorità di una risorsa o un elenco di allocazioni.
pfnQueryResidencyCb
Puntatore alla funzione pfnQueryResidencyCb , utilizzata dal driver di visualizzazione in modalità utente per eseguire query sullo stato di residenza di una risorsa o di un elenco di allocazioni.
pfnSetDisplayModeCb
Puntatore alla funzione pfnSetDisplayModeCb , che il driver di visualizzazione in modalità utente usa per impostare un'allocazione per la visualizzazione.
pfnPresentCb
Puntatore alla funzione pfnPresentCb , che il driver di visualizzazione in modalità utente usa per inviare un comando presente al driver miniport visualizzato.
pfnRenderCb
Puntatore alla funzione pfnRenderCb , che il driver di visualizzazione in modalità utente usa per inviare un buffer di comandi al driver miniport visualizzato.
pfnLockCb
Puntatore alla funzione pfnLockCb , che il driver di visualizzazione in modalità utente usa per richiedere un blocco dal driver miniport visualizzato. Questo blocco non può essere gestito completamente dal driver di visualizzazione in modalità utente.
pfnUnlockCb
Puntatore alla funzione pfnUnlockCb , che il driver di visualizzazione in modalità utente usa per chiamare il driver miniport visualizzato per uno sblocco. Questo sblocco non può essere gestito completamente dal driver di visualizzazione in modalità utente.
pfnEscapeCb
Puntatore alla funzione pfnEscapeCb , che il driver di visualizzazione in modalità utente usa per condividere informazioni con il driver miniport visualizzato.
pfnCreateOverlayCb
Puntatore alla funzione pfnCreateOverlayCb , che il driver di visualizzazione in modalità utente usa per creare e visualizzare un oggetto sovrimpressione in modalità kernel.
pfnUpdateOverlayCb
Puntatore alla funzione pfnUpdateOverlayCb , che il driver di visualizzazione in modalità utente usa per modificare un oggetto sovrimpressione in modalità kernel.
pfnFlipOverlayCb
Puntatore alla funzione pfnFlipOverlayCb , utilizzata dal driver di visualizzazione in modalità utente per modificare l'allocazione visualizzata dalla sovrapposizione.
pfnDestroyOverlayCb
Puntatore alla funzione pfnDestroyOverlayCb , che il driver di visualizzazione in modalità utente usa per eliminare un oggetto sovrimpressione in modalità kernel e arrestare la visualizzazione della sovrapposizione.
pfnCreateContextCb
Puntatore alla funzione pfnCreateContextCb , a cui usa il driver di visualizzazione in modalità utente per creare un contesto per inviare richieste.
pfnDestroyContextCb
Puntatore alla funzione pfnDestroyContextCb , utilizzata dal driver di visualizzazione in modalità utente per eliminare un contesto creato da pfnCreateContextCb .
pfnCreateSynchronizationObjectCb
Puntatore alla funzione pfnCreateSynchronizationObjectCb , utilizzata dal driver di visualizzazione in modalità utente per creare un oggetto di sincronizzazione.
pfnDestroySynchronizationObjectCb
Puntatore alla funzione pfnDestroySynchronizationObjectCb , utilizzata dal driver di visualizzazione in modalità utente per eliminare un oggetto di sincronizzazione creato da pfnCreateSynchronizationObjectCb .
pfnWaitForSynchronizationObjectCb
Puntatore alla funzione pfnWaitForSynchronizationObjectCb , che il driver di visualizzazione in modalità utente usa per attendere che si verifichino eventi di sincronizzazione e quindi usi per restituire.
pfnSignalSynchronizationObjectCb
Puntatore alla funzione pfnSignalSynchronizationObjectCb , che il driver di visualizzazione in modalità utente usa per segnalare che gli eventi di sincronizzazione non sono più di proprietà di un contesto.
pfnSetAsyncCallbacksCb
Puntatore alla funzione pfnSetAsyncCallbacksCb utilizzata dal driver di visualizzazione in modalità utente per notificare al runtime Direct3D se il runtime inizierà o interromperà la ricezione di chiamate alle funzioni di callback del runtime da un thread di lavoro.
Solo le versioni DirectX 9 e Direct 9L del runtime supportano la funzione pfnSetAsyncCallbacksCb . DirectX 10 e versioni successive del runtime impostano il membro pfnSetAsyncCallbacksCb su NULL quando il runtime chiama la funzione CreateDevice(D3D10) della modalità utente per creare un dispositivo di rendering.
pfnSetDisplayPrivateDriverFormatCb
Puntatore alla funzione pfnSetDisplayPrivateDriverFormatCb usata dal driver di visualizzazione in modalità utente per modificare il formato della superficie primaria condivisa.
pfnOfferAllocationsCb
Puntatore alla funzione pfnOfferAllocationsCb , che un driver di visualizzazione in modalità utente WDDM 1.2 e versioni successive offre allocazioni di memoria video per il riutilizzo.
Supportato a partire da Windows 8.
pfnReclaimAllocationsCb
Puntatore alla funzione pfnReclaimAllocationsCb , che un driver di visualizzazione in modalità utente WDDM 1.2 e versioni successive consente di recuperare l'accesso alle allocazioni di memoria video offerte in precedenza per il riutilizzo.
Supportato a partire da Windows 8.
pfnCreateSynchronizationObject2Cb
Puntatore alla funzione pfnCreateSynchronizationObject2Cb , che usa un driver di visualizzazione wdDM 1.2 e versioni successive in modalità utente per creare un oggetto di sincronizzazione GPU.
Supportato a partire da Windows 8.
pfnWaitForSynchronizationObject2Cb
Puntatore alla funzione pfnWaitForSynchronizationObject2Cb , che usa un driver di visualizzazione WDDM 1.2 e versioni successive in modalità utente per attendere che si verifichino eventi di sincronizzazione GPU e quindi usi per restituire.
Supportato a partire da Windows 8.
pfnSignalSynchronizationObject2Cb
Puntatore alla funzione pfnSignalSynchronizationObject2Cb , che un driver di visualizzazione in modalità utente wdDM 1.2 e versioni successive usa per segnalare che gli eventi di sincronizzazione GPU non sono più di proprietà di un contesto.
Supportato a partire da Windows 8.
pfnPresentMultiPlaneOverlayCb
Puntatore alla funzione pfnPresentMultiPlaneOverlayCb (D3D), che usa un driver di visualizzazione WDDM 1.3 e versioni successive per copiare il contenuto da un'allocazione di sovrapposizione multiplane di origine a un'allocazione di destinazione.
Supportato a partire da Windows 8.1.
pfnLogUMDMarkerCb
Puntatore alla funzione pfnLogUMDMarkerCb , che un driver di visualizzazione in modalità utente WDDM 1.3 e versioni successive consente di registrare un evento di indicatore di traccia eventi personalizzato per Windows (ETW).
Supportato a partire da Windows 8.1.
pfnMakeResidentCb
Puntatore alla funzione pfnMakeResidentCb .
pfnEvictCb
Puntatore alla funzione pfnEvictCb .
pfnWaitForSynchronizationObjectFromCpuCb
Puntatore alla funzione pfnWaitForSynchronizationObjectFromCpuCb .
pfnSignalSynchronizationObjectFromCpuCb
Puntatore alla funzione pfnSignalSynchronizationObjectFromCpuCb .
pfnWaitForSynchronizationObjectFromGpuCb
Puntatore alla funzione pfnWaitForSynchronizationObjectFromGpuCb .
pfnSignalSynchronizationObjectFromGpuCb
Puntatore alla funzione pfnSignalSynchronizationObjectFromGpuCb .
pfnCreatePagingQueueCb
Puntatore alla funzione pfnCreatePagingQueueCb .
pfnDestroyPagingQueueCb
Puntatore alla funzione pfnDestroyPagingQueueCb .
pfnLock2Cb
Puntatore alla funzione pfnLock2Cb .
pfnUnlock2Cb
Puntatore alla funzione pfnUnlock2Cb .
pfnInvalidateCacheCb
Puntatore alla funzione pfnInvalidateCacheCb .
pfnReserveGpuVirtualAddressCb
Puntatore alla funzione pfnReserveGpuVirtualAddressCb .
pfnMapGpuVirtualAddressCb
Puntatore alla funzione pfnMapGpuVirtualAddressCb .
pfnFreeGpuVirtualAddressCb
Puntatore alla funzione pfnFreeGpuVirtualAddressCb .
pfnUpdateGpuVirtualAddressCb
Puntatore alla funzione pfnUpdateGpuVirtualAddressCb .
pfnCreateContextVirtualCb
Puntatore alla funzione pfnCreateContextVirtualCb .
pfnSubmitCommandCb
Puntatore alla funzione pfnSubmitCommandCb .
pfnDeallocate2Cb
Puntatore alla funzione pfnDeallocate2Cb .
pfnSignalSynchronizationObjectFromGpu2Cb
Puntatore alla funzione pfnSignalSynchronizationObjectFromGpu2Cb .
pfnReclaimAllocations2Cb
Puntatore alla funzione pfnReclaimAllocations2Cb .
pfnGetResourcePresentPrivateDriverDataCb
Puntatore alla funzione pfnGetResourcePresentPrivateDriverDataCb .
pfnUpdateAllocationPropertyCb
Puntatore alla funzione pfnUpdateAllocationPropertyCb .
pfnOfferAllocations2Cb
Puntatore alla funzione pfnOfferAllocations2Cb .
pfnReclaimAllocations3Cb
Puntatore alla funzione pfnReclaimAllocations3Cb .
pfnAcquireResourceCb
pfnReleaseResourceCb
pfnCreateHwContextCb
Puntatore a una funzione di callback PFND3DDDI_CREATEHWCONTEXTCB .
pfnDestroyHwContextCb
Puntatore a una funzione di callback PFND3DDDI_DESTROYHWCONTEXTCB .
pfnCreateHwQueueCb
Puntatore a una funzione di callback PFND3DDDI_CREATEHWQUEUECB .
pfnDestroyHwQueueCb
Puntatore a una funzione di callback PFND3DDDI_DESTROYHWQUEUECB .
pfnSubmitCommandToHwQueueCb
Puntatore a una funzione di callback PFND3DDDI_SUBMITCOMMANDTOHWQUEUECB .
pfnSubmitWaitForSyncObjectsToHwQueueCb
Puntatore a una funzione di callback PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECB .
pfnSubmitSignalSyncObjectsToHwQueueCb
Puntatore a una funzione di callback PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECB .
pfnSubmitPresentBltToHwQueueCb
Puntatore a una funzione di callback PFND3DDDI_SUBMITPRESENTBLTTOHWQUEUECB .
pfnSubmitPresentToHwQueueCb
Puntatore a una funzione di callback PFND3DDDI_SUBMITPRESENTTOHWQUEUECB .
pfnSubmitHistorySequenceCb
Puntatore a una funzione di callback PFND3DDDI_SUBMITHISTORYSEQUENCECB .
Commenti
Dichiarazioni per le funzioni di callback che D3DDDI_DEVICECALLBACKS membri puntano a essere disponibili in d3dumddi.h.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Intestazione | d3dumddi.h (include D3dumddi.h) |