структура D3DDDI_DEVICECALLBACKS (d3dumddi.h)
Структура D3DDDI_DEVICECALLBACKS содержит функции обратного вызова среды выполнения Microsoft Direct3D, которые может использовать драйвер отображения пользовательского режима.
Синтаксис
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;
Члены
pfnAllocateCb
Указатель на функцию pfnAllocateCb , которую драйвер отображения пользовательского режима использует для запроса на то, чтобы среда выполнения Direct3D создавала выделение памяти для использования драйвером.
pfnDeallocateCb
Указатель на функцию pfnDeallocateCb , которую драйвер отображения пользовательского режима использует для запроса на освобождение памяти среды выполнения Direct3D, которая была выделена ранее.
pfnSetPriorityCb
Указатель на функцию pfnSetPriorityCb , которую драйвер отображения пользовательского режима использует для задания приоритета ресурса или списка выделений.
pfnQueryResidencyCb
Указатель на функцию pfnQueryResidencyCb , которую драйвер отображения пользовательского режима использует для запроса состояния расположения ресурса или списка выделений.
pfnSetDisplayModeCb
Указатель на функцию pfnSetDisplayModeCb , которую драйвер отображения пользовательского режима использует для задания выделения для отображения.
pfnPresentCb
Указатель на функцию pfnPresentCb , которую драйвер отображения пользовательского режима использует для отправки текущей команды в драйвер мини-порта дисплея.
pfnRenderCb
Указатель на функцию pfnRenderCb , которую драйвер отображения пользовательского режима использует для отправки буфера команд в драйвер мини-порта дисплея.
pfnLockCb
Указатель на функцию pfnLockCb , которую драйвер дисплея пользовательского режима использует для запроса блокировки от драйвера мини-порта дисплея. Эта блокировка не может быть полностью обработана драйвером отображения пользовательского режима.
pfnUnlockCb
Указатель на функцию pfnUnlockCb , которую драйвер дисплея пользовательского режима использует для вызова драйвера минипорта дисплея для разблокировки. Эта разблокировка не может быть полностью обработана драйвером отображения пользовательского режима.
pfnEscapeCb
Указатель на функцию pfnEscapeCb , которую драйвер дисплея пользовательского режима использует для обмена информацией с драйвером мини-порта дисплея.
pfnCreateOverlayCb
Указатель на функцию pfnCreateOverlayCb , которую драйвер отображения пользовательского режима использует для создания и отображения объекта наложения в режиме ядра.
pfnUpdateOverlayCb
Указатель на функцию pfnUpdateOverlayCb , которую драйвер отображения пользовательского режима использует для изменения объекта наложения в режиме ядра.
pfnFlipOverlayCb
Указатель на функцию pfnFlipOverlayCb , которую драйвер отображения пользовательского режима использует для изменения выделения, отображаемого наложением.
pfnDestroyOverlayCb
Указатель на функцию pfnDeмешательOverlayCb , которую драйвер отображения пользовательского режима использует для уничтожения объекта наложения в режиме ядра и остановки отображения наложения.
pfnCreateContextCb
Указатель на функцию pfnCreateContextCb , которую драйвер отображения пользовательского режима использует для создания контекста для отправки запросов.
pfnDestroyContextCb
Указатель на функцию pfnDetextContextCb , которую драйвер отображения пользовательского режима использует для уничтожения контекста, созданного pfnCreateContextCb .
pfnCreateSynchronizationObjectCb
Указатель на функцию pfnCreateSynchronizationObjectCb , которую драйвер отображения пользовательского режима использует для создания объекта синхронизации.
pfnDestroySynchronizationObjectCb
Указатель на функцию pfnDesynchronizationObjectCb , которую драйвер отображения пользовательского режима использует для уничтожения объекта синхронизации, созданного pfnCreateSynchronizationObjectCb .
pfnWaitForSynchronizationObjectCb
Указатель на функцию pfnWaitForSynchronizationObjectCb , которую драйвер отображения пользовательского режима использует для ожидания событий синхронизации, а затем использует для возврата.
pfnSignalSynchronizationObjectCb
Указатель на функцию pfnSignalSynchronizationObjectCb , которую драйвер отображения пользовательского режима использует для сигнализации о том, что события синхронизации больше не принадлежат контексту.
pfnSetAsyncCallbacksCb
Указатель на функцию pfnSetAsyncCallbacksCb , которую драйвер отображения пользовательского режима использует для уведомления среды выполнения Direct3D о том, будет ли среда выполнения запускать или прекращать прием вызовов функций обратного вызова среды выполнения из рабочего потока.
Только версии среды выполнения DirectX 9 и Direct 9L поддерживают функцию pfnSetAsyncCallbacksCb . DirectX 10 и более поздних версий среды выполнения присваивают члену pfnSetAsyncCallbacksCb значение NULL, когда среда выполнения вызывает функцию CreateDevice(D3D10) драйвера отображения пользовательского режима для создания устройства отрисовки.
pfnSetDisplayPrivateDriverFormatCb
Указатель на функцию pfnSetDisplayPrivateDriverFormatCb , которую драйвер отображения пользовательского режима использует для изменения формата общей основной поверхности.
pfnOfferAllocationsCb
Указатель на функцию pfnOfferAllocationsCb , которую вызывает драйвер отображения пользовательского режима WDDM 1.2 и более поздних версий, чтобы предложить выделение видеопамяли для повторного использования.
Поддерживается начиная с Windows 8.
pfnReclaimAllocationsCb
Указатель на функцию pfnReclaimAllocationsCb , которую вызывает драйвер отображения WDDM 1.2 и более поздних версий для освобождения доступа к выделениям видеопамя, которые ранее предлагались для повторного использования.
Поддерживается начиная с Windows 8.
pfnCreateSynchronizationObject2Cb
Указатель на функцию pfnCreateSynchronizationObject2Cb , которую драйвер отображения пользовательского режима WDDM 1.2 и более поздних версий использует для создания объекта синхронизации GPU.
Поддерживается начиная с Windows 8.
pfnWaitForSynchronizationObject2Cb
Указатель на функцию pfnWaitForSynchronizationObject2Cb , которую драйвер отображения пользовательского режима WDDM 1.2 и более поздних версий использует для ожидания событий синхронизации GPU, а затем использует для возврата.
Поддерживается начиная с Windows 8.
pfnSignalSynchronizationObject2Cb
Указатель на функцию pfnSignalSynchronizationObject2Cb , которую использует драйвер отображения пользовательского режима WDDM 1.2 и более поздних версий, чтобы сообщить о том, что события синхронизации GPU больше не принадлежат контексту.
Поддерживается начиная с Windows 8.
pfnPresentMultiPlaneOverlayCb
Указатель на функцию pfnPresentMultiPlaneOverlayCb (D3D), которую драйвер отображения пользовательского режима WDDM 1.3 и более поздних версий использует для копирования содержимого из исходного выделения многопланового наложения в целевое выделение.
Поддерживается начиная с Windows 8.1.
pfnLogUMDMarkerCb
Указатель на функцию pfnLogUMDMarkerCb , которую вызывает драйвер отображения пользовательского режима WDDM 1.3 и более поздних версий для регистрации пользовательского события трассировки событий Windows (ETW).
Поддерживается начиная с Windows 8.1.
pfnMakeResidentCb
Указатель на функцию pfnMakeResidentCb .
pfnEvictCb
Указатель на функцию pfnEvictCb .
pfnWaitForSynchronizationObjectFromCpuCb
Указатель на функцию pfnWaitForSynchronizationObjectFromCpuCb .
pfnSignalSynchronizationObjectFromCpuCb
Указатель на функцию pfnSignalSynchronizationObjectFromCpuCb .
pfnWaitForSynchronizationObjectFromGpuCb
Указатель на функцию pfnWaitForSynchronizationObjectFromGpuCb .
pfnSignalSynchronizationObjectFromGpuCb
Указатель на функцию pfnSignalSynchronizationObjectFromGpuCb .
pfnCreatePagingQueueCb
Указатель на функцию pfnCreatePagingQueueCb .
pfnDestroyPagingQueueCb
Указатель на функцию pfnDeмешательPagingQueueCb .
pfnLock2Cb
Указатель на функцию pfnLock2Cb .
pfnUnlock2Cb
Указатель на функцию pfnUnlock2Cb .
pfnInvalidateCacheCb
Указатель на функцию pfnInvalidateCacheCb .
pfnReserveGpuVirtualAddressCb
Указатель на функцию pfnReserveGpuVirtualAddressCb .
pfnMapGpuVirtualAddressCb
Указатель на функцию pfnMapGpuVirtualAddressCb .
pfnFreeGpuVirtualAddressCb
Указатель на функцию pfnFreeGpuVirtualAddressCb .
pfnUpdateGpuVirtualAddressCb
Указатель на функцию pfnUpdateGpuVirtualAddressCb .
pfnCreateContextVirtualCb
Указатель на функцию pfnCreateContextVirtualCb .
pfnSubmitCommandCb
Указатель на функцию pfnSubmitCommandCb .
pfnDeallocate2Cb
Указатель на функцию pfnDeallocate2Cb .
pfnSignalSynchronizationObjectFromGpu2Cb
Указатель на функцию pfnSignalSynchronizationObjectFromGpu2Cb .
pfnReclaimAllocations2Cb
Указатель на функцию pfnReclaimAllocations2Cb .
pfnGetResourcePresentPrivateDriverDataCb
Указатель на функцию pfnGetResourcePresentPrivateDriverDataCb .
pfnUpdateAllocationPropertyCb
Указатель на функцию pfnUpdateAllocationPropertyCb .
pfnOfferAllocations2Cb
Указатель на функцию pfnOfferAllocations2Cb .
pfnReclaimAllocations3Cb
Указатель на функцию pfnReclaimAllocations3Cb .
pfnAcquireResourceCb
pfnReleaseResourceCb
pfnCreateHwContextCb
Указатель на функцию обратного вызова PFND3DDDI_CREATEHWCONTEXTCB.
pfnDestroyHwContextCb
Указатель на функцию обратного вызова PFND3DDDI_DESTROYHWCONTEXTCB .
pfnCreateHwQueueCb
Указатель на функцию обратного вызова PFND3DDDI_CREATEHWQUEUECB.
pfnDestroyHwQueueCb
Указатель на функцию обратного вызова PFND3DDDI_DESTROYHWQUEUECB.
pfnSubmitCommandToHwQueueCb
Указатель на функцию обратного вызова PFND3DDDI_SUBMITCOMMANDTOHWQUEUECB .
pfnSubmitWaitForSyncObjectsToHwQueueCb
Указатель на функцию обратного вызова PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECB.
pfnSubmitSignalSyncObjectsToHwQueueCb
Указатель на функцию обратного вызова PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECB.
pfnSubmitPresentBltToHwQueueCb
Указатель на функцию обратного вызова PFND3DDDI_SUBMITPRESENTBLTTOHWQUEUECB.
pfnSubmitPresentToHwQueueCb
Указатель на функцию обратного вызова PFND3DDDI_SUBMITPRESENTTOHWQUEUECB .
pfnSubmitHistorySequenceCb
Указатель на функцию обратного вызова PFND3DDDI_SUBMITHISTORYSEQUENCECB .
Комментарии
Объявления для функций обратного вызова, на которые указывают D3DDDI_DEVICECALLBACKS элементы, можно найти в d3dumddi.h.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Верхняя часть | d3dumddi.h (включая D3dumddi.h) |