D3DDDI_DEVICECALLBACKS結構 (d3dumddi.h)
D3DDDI_DEVICECALLBACKS 結構包含使用者模式顯示驅動程式可以使用的 direct3D 執行時間回呼函式Microsoft。
語法
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
pfnDestroyOverlayCb 函式的指標,使用者模式顯示驅動程式會使用此函式來終結內核模式重迭物件,並停止顯示重疊。
pfnCreateContextCb
pfnCreateContextCb 函式的指標,使用者模式顯示驅動程式會用來建立內容以提交要求。
pfnDestroyContextCb
pfnDestroyContextCb 函式的指標,使用者模式顯示驅動程式會使用此函式來終結 pfnCreateContextCb 建立的內容。
pfnCreateSynchronizationObjectCb
pfnCreateSynchronizationObjectCb 函式的指標,使用者模式顯示驅動程式會用來建立同步處理物件。
pfnDestroySynchronizationObjectCb
pfnDestroySynchronizationObjectCb 函式的指標,使用者模式顯示驅動程式會使用此函式終結 pfnCreateSynchronizationObjectCb 的同步處理物件。
pfnWaitForSynchronizationObjectCb
pfnWaitForSynchronizationObjectCb 函式的指標,使用者模式顯示驅動程式會用來等候同步處理事件發生,然後使用 傳回 。
pfnSignalSynchronizationObjectCb
pfnSignalSynchronizationObjectCb 函式的指標,使用者模式顯示驅動程式會用來表示內容不再擁有同步處理事件。
pfnSetAsyncCallbacksCb
pfnSetAsyncCallbacksCb 函式的指標,使用者模式顯示驅動程式會用來通知 Direct3D 運行時間,運行時間是否會啟動或停止從背景工作線程接收運行時間回呼函式的呼叫。
只有 DirectX 9 和 Direct 9L 版本的運行時間支援 pfnSetAsyncCallbacksCb 函式。 當運行時間呼叫使用者模式顯示驅動程式的 CreateDevice(D3D10) 函式來建立轉譯裝置時,DirectX 10 和更新版本的運行時間會將 pfnSetAsyncCallbacksCb 成員設定為 NULL。
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
pfnDestroyPagingQueueCb 函式的指標。
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 回呼函式的指標。
言論
您可以在 d3dumddi.h中找到 D3DDDI_DEVICECALLBACKS 成員指向的回呼函式宣告。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
標頭 | d3dumddi.h (包括 D3dumddi.h) |