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)