structure D3DDDI_DEVICECALLBACKS (d3dumddi.h)
La structure D3DDDI_DEVICECALLBACKS contient des fonctions de rappel du runtime Microsoft Direct3D que le pilote d’affichage en mode utilisateur peut utiliser.
Syntaxe
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;
Membres
pfnAllocateCb
Pointeur vers la fonction pfnAllocateCb , que le pilote d’affichage en mode utilisateur utilise pour demander au runtime Direct3D de créer une allocation de mémoire à utiliser par le pilote.
pfnDeallocateCb
Pointeur vers la fonction pfnDeallocateCb , que le pilote d’affichage en mode utilisateur utilise pour demander que le runtime Direct3D libère la mémoire précédemment allouée.
pfnSetPriorityCb
Pointeur vers la fonction pfnSetPriorityCb , que le pilote d’affichage en mode utilisateur utilise pour définir la priorité d’une ressource ou d’une liste d’allocations.
pfnQueryResidencyCb
Pointeur vers la fonction pfnQueryResidencyCb, que le pilote d’affichage en mode utilisateur utilise pour interroger la status de résidence d’une ressource ou d’une liste d’allocations.
pfnSetDisplayModeCb
Pointeur vers la fonction pfnSetDisplayModeCb , que le pilote d’affichage en mode utilisateur utilise pour définir une allocation pour l’affichage.
pfnPresentCb
Pointeur vers la fonction pfnPresentCb , que le pilote d’affichage en mode utilisateur utilise pour envoyer une commande présente au pilote de miniport d’affichage.
pfnRenderCb
Pointeur vers la fonction pfnRenderCb , que le pilote d’affichage en mode utilisateur utilise pour envoyer une mémoire tampon de commande au pilote miniport d’affichage.
pfnLockCb
Pointeur vers la fonction pfnLockCb , que le pilote d’affichage en mode utilisateur utilise pour demander un verrou au pilote miniport d’affichage. Ce verrou ne peut pas être entièrement géré par le pilote d’affichage en mode utilisateur.
pfnUnlockCb
Pointeur vers la fonction pfnUnlockCb , que le pilote d’affichage en mode utilisateur utilise pour appeler le pilote miniport d’affichage pour un déverrouillage. Ce déverrouillage ne peut pas être entièrement géré par le pilote d’affichage en mode utilisateur.
pfnEscapeCb
Pointeur vers la fonction pfnEscapeCb , que le pilote d’affichage en mode utilisateur utilise pour partager des informations avec le pilote miniport d’affichage.
pfnCreateOverlayCb
Pointeur vers la fonction pfnCreateOverlayCb , que le pilote d’affichage en mode utilisateur utilise pour créer et afficher un objet de superposition en mode noyau.
pfnUpdateOverlayCb
Pointeur vers la fonction pfnUpdateOverlayCb , que le pilote d’affichage en mode utilisateur utilise pour modifier un objet de superposition en mode noyau.
pfnFlipOverlayCb
Pointeur vers la fonction pfnFlipOverlayCb , que le pilote d’affichage en mode utilisateur utilise pour modifier l’allocation affichée par la superposition.
pfnDestroyOverlayCb
Pointeur vers la fonction pfnDestroyOverlayCb , que le pilote d’affichage en mode utilisateur utilise pour détruire un objet de superposition en mode noyau et empêcher l’affichage de la superposition.
pfnCreateContextCb
Pointeur vers la fonction pfnCreateContextCb , que le pilote d’affichage en mode utilisateur utilise pour créer un contexte pour envoyer des demandes.
pfnDestroyContextCb
Pointeur vers la fonction pfnDestroyContextCb , que le pilote d’affichage en mode utilisateur utilise pour détruire un contexte créé par pfnCreateContextCb .
pfnCreateSynchronizationObjectCb
Pointeur vers la fonction pfnCreateSynchronizationObjectCb , que le pilote d’affichage en mode utilisateur utilise pour créer un objet de synchronisation.
pfnDestroySynchronizationObjectCb
Pointeur vers la fonction pfnDestroySynchronizationObjectCb , que le pilote d’affichage en mode utilisateur utilise pour détruire un objet de synchronisation créé par pfnCreateSynchronizationObjectCb .
pfnWaitForSynchronizationObjectCb
Pointeur vers la fonction pfnWaitForSynchronizationObjectCb , que le pilote d’affichage en mode utilisateur utilise pour attendre que les événements de synchronisation se produisent, puis utilise pour retourner.
pfnSignalSynchronizationObjectCb
Pointeur vers la fonction pfnSignalSynchronizationObjectCb , que le pilote d’affichage en mode utilisateur utilise pour signaler que les événements de synchronisation ne sont plus détenus par un contexte.
pfnSetAsyncCallbacksCb
Pointeur vers la fonction pfnSetAsyncCallbacksCb que le pilote d’affichage en mode utilisateur utilise pour informer le runtime Direct3D si le runtime démarre ou cesse de recevoir des appels aux fonctions de rappel du runtime à partir d’un thread worker.
Seules les versions DirectX 9 et Direct 9L du runtime prennent en charge la fonction pfnSetAsyncCallbacksCb . DirectX 10 et versions ultérieures du runtime définissent le membre pfnSetAsyncCallbacksCb sur NULL lorsque le runtime appelle la fonction CreateDevice(D3D10) du pilote d’affichage en mode utilisateur pour créer un périphérique de rendu.
pfnSetDisplayPrivateDriverFormatCb
Pointeur vers la fonction pfnSetDisplayPrivateDriverFormatCb que le pilote d’affichage en mode utilisateur utilise pour modifier le format de la surface primaire partagée.
pfnOfferAllocationsCb
Pointeur vers la fonction pfnOfferAllocationsCb , qu’un pilote d’affichage WDDM 1.2 et versions ultérieures appelle pour offrir des allocations de mémoire vidéo à réutiliser.
Pris en charge à partir de Windows 8.
pfnReclaimAllocationsCb
Pointeur vers la fonction pfnReclaimAllocationsCb , qu’un pilote d’affichage WDDM 1.2 et versions ultérieures appelle pour récupérer l’accès aux allocations de mémoire vidéo précédemment proposées pour la réutilisation.
Pris en charge à partir de Windows 8.
pfnCreateSynchronizationObject2Cb
Pointeur vers la fonction pfnCreateSynchronizationObject2Cb , qu’un pilote d’affichage WDDM 1.2 et versions ultérieures utilise pour créer un objet de synchronisation GPU.
Pris en charge à partir de Windows 8.
pfnWaitForSynchronizationObject2Cb
Pointeur vers la fonction pfnWaitForSynchronizationObject2Cb , qu’un pilote d’affichage WDDM 1.2 et versions ultérieures utilise pour attendre que des événements de synchronisation GPU se produisent, puis utilise pour retourner.
Pris en charge à partir de Windows 8.
pfnSignalSynchronizationObject2Cb
Pointeur vers la fonction pfnSignalSynchronizationObject2Cb , qu’un pilote d’affichage WDDM 1.2 et versions ultérieures utilise pour signaler que les événements de synchronisation GPU ne sont plus détenus par un contexte.
Pris en charge à partir de Windows 8.
pfnPresentMultiPlaneOverlayCb
Pointeur vers la fonction pfnPresentMultiPlaneOverlayCb (D3D), qu’un pilote d’affichage WDDM 1.3 et versions ultérieures utilise pour copier le contenu d’une allocation de superposition multiplan source vers une allocation de destination.
Pris en charge à partir de Windows 8.1.
pfnLogUMDMarkerCb
Pointeur vers la fonction pfnLogUMDMarkerCb , qu’un pilote d’affichage WDDM 1.3 et versions ultérieures appelle pour journaliser un événement de marqueur de suivi d’événements personnalisé pour Windows (ETW).
Pris en charge à partir de Windows 8.1.
pfnMakeResidentCb
Pointeur vers la fonction pfnMakeResidentCb .
pfnEvictCb
Pointeur vers la fonction pfnEvictCb .
pfnWaitForSynchronizationObjectFromCpuCb
Pointeur vers la fonction pfnWaitForSynchronizationObjectFromCpuCb .
pfnSignalSynchronizationObjectFromCpuCb
Pointeur vers la fonction pfnSignalSynchronizationObjectFromCpuCb .
pfnWaitForSynchronizationObjectFromGpuCb
Pointeur vers la fonction pfnWaitForSynchronizationObjectFromGpuCb .
pfnSignalSynchronizationObjectFromGpuCb
Pointeur vers la fonction pfnSignalSynchronizationObjectFromGpuCb .
pfnCreatePagingQueueCb
Pointeur vers la fonction pfnCreatePagingQueueCb .
pfnDestroyPagingQueueCb
Pointeur vers la fonction pfnDestroyPagingQueueCb .
pfnLock2Cb
Pointeur vers la fonction pfnLock2Cb .
pfnUnlock2Cb
Pointeur vers la fonction pfnUnlock2Cb .
pfnInvalidateCacheCb
Pointeur vers la fonction pfnInvalidateCacheCb .
pfnReserveGpuVirtualAddressCb
Pointeur vers la fonction pfnReserveGpuVirtualAddressCb .
pfnMapGpuVirtualAddressCb
Pointeur vers la fonction pfnMapGpuVirtualAddressCb .
pfnFreeGpuVirtualAddressCb
Pointeur vers la fonction pfnFreeGpuVirtualAddressCb .
pfnUpdateGpuVirtualAddressCb
Pointeur vers la fonction pfnUpdateGpuVirtualAddressCb .
pfnCreateContextVirtualCb
Pointeur vers la fonction pfnCreateContextVirtualCb .
pfnSubmitCommandCb
Pointeur vers la fonction pfnSubmitCommandCb .
pfnDeallocate2Cb
Pointeur vers la fonction pfnDeallocate2Cb .
pfnSignalSynchronizationObjectFromGpu2Cb
Pointeur vers la fonction pfnSignalSynchronizationObjectFromGpu2Cb .
pfnReclaimAllocations2Cb
Pointeur vers la fonction pfnReclaimAllocations2Cb .
pfnGetResourcePresentPrivateDriverDataCb
Pointeur vers la fonction pfnGetResourcePresentPrivateDriverDataCb .
pfnUpdateAllocationPropertyCb
Pointeur vers la fonction pfnUpdateAllocationPropertyCb .
pfnOfferAllocations2Cb
Pointeur vers la fonction pfnOfferAllocations2Cb .
pfnReclaimAllocations3Cb
Pointeur vers la fonction pfnReclaimAllocations3Cb .
pfnAcquireResourceCb
pfnReleaseResourceCb
pfnCreateHwContextCb
Pointeur vers une fonction de rappel PFND3DDDI_CREATEHWCONTEXTCB .
pfnDestroyHwContextCb
Pointeur vers une fonction de rappel PFND3DDDI_DESTROYHWCONTEXTCB .
pfnCreateHwQueueCb
Pointeur vers une fonction de rappel PFND3DDDI_CREATEHWQUEUECB .
pfnDestroyHwQueueCb
Pointeur vers une fonction de rappel PFND3DDDI_DESTROYHWQUEUECB .
pfnSubmitCommandToHwQueueCb
Pointeur vers une fonction de rappel PFND3DDDI_SUBMITCOMMANDTOHWQUEUECB .
pfnSubmitWaitForSyncObjectsToHwQueueCb
Pointeur vers une fonction de rappel PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECB .
pfnSubmitSignalSyncObjectsToHwQueueCb
Pointeur vers une fonction de rappel PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECB .
pfnSubmitPresentBltToHwQueueCb
Pointeur vers une fonction de rappel PFND3DDDI_SUBMITPRESENTBLTTOHWQUEUECB .
pfnSubmitPresentToHwQueueCb
Pointeur vers une fonction de rappel PFND3DDDI_SUBMITPRESENTTOHWQUEUECB .
pfnSubmitHistorySequenceCb
Pointeur vers une fonction de rappel PFND3DDDI_SUBMITHISTORYSEQUENCECB .
Remarques
Les déclarations pour les fonctions de rappel vers laquelle pointent D3DDDI_DEVICECALLBACKS membres se trouvent dans d3dumddi.h.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
En-tête | d3dumddi.h (inclure D3dumddi.h) |