共用方式為


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

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回呼函式的指標。

備註

D3DDDI_DEVICECALLBACKS成員指向的回呼函式宣告可以在 d3dumddi.h 中找到。

規格需求

需求
最低支援的用戶端 Windows Vista
標頭 d3dumddi.h (include D3dumddi.h)