struktur D3DDDI_DEVICECALLBACKS (d3dumddi.h)

Struktur D3DDDI_DEVICECALLBACKS berisi fungsi panggilan balik runtime Microsoft Direct3D yang dapat digunakan driver tampilan mode pengguna.

Sintaks

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;

Anggota

pfnAllocateCb

Penunjuk ke fungsi pfnAllocateCb , yang digunakan driver tampilan mode pengguna untuk meminta runtime Direct3D membuat alokasi memori untuk digunakan oleh driver.

pfnDeallocateCb

Penunjuk ke fungsi pfnDeallocateCb , yang digunakan driver tampilan mode pengguna untuk meminta memori bebas runtime Direct3D yang sebelumnya dialokasikan.

pfnSetPriorityCb

Penunjuk ke fungsi pfnSetPriorityCb , yang digunakan driver tampilan mode pengguna untuk mengatur prioritas sumber daya atau daftar alokasi.

pfnQueryResidencyCb

Penunjuk ke fungsi pfnQueryResidencyCb , yang digunakan driver tampilan mode pengguna untuk mengkueri status residensi sumber daya atau daftar alokasi.

pfnSetDisplayModeCb

Penunjuk ke fungsi pfnSetDisplayModeCb , yang digunakan driver tampilan mode pengguna untuk mengatur alokasi untuk ditampilkan.

pfnPresentCb

Penunjuk ke fungsi pfnPresentCb , yang digunakan driver tampilan mode pengguna untuk mengirimkan perintah sajikan ke driver miniport tampilan.

pfnRenderCb

Penunjuk ke fungsi pfnRenderCb , yang digunakan driver tampilan mode pengguna untuk mengirimkan buffer perintah ke driver miniport tampilan.

pfnLockCb

Penunjuk ke fungsi pfnLockCb , yang digunakan driver tampilan mode pengguna untuk meminta kunci dari driver miniport tampilan. Kunci ini tidak dapat ditangani sepenuhnya oleh pengandar tampilan mode pengguna.

pfnUnlockCb

Penunjuk ke fungsi pfnUnlockCb , yang digunakan driver tampilan mode pengguna untuk memanggil driver miniport tampilan untuk membuka kunci. Pembuka kunci ini tidak dapat ditangani sepenuhnya oleh pengandar tampilan mode pengguna.

pfnEscapeCb

Penunjuk ke fungsi pfnEscapeCb , yang digunakan driver tampilan mode pengguna untuk berbagi informasi dengan driver miniport tampilan.

pfnCreateOverlayCb

Penunjuk ke fungsi pfnCreateOverlayCb , yang digunakan driver tampilan mode pengguna untuk membuat dan menampilkan objek overlay mode kernel.

pfnUpdateOverlayCb

Penunjuk ke fungsi pfnUpdateOverlayCb , yang digunakan driver tampilan mode pengguna untuk memodifikasi objek overlay mode kernel.

pfnFlipOverlayCb

Penunjuk ke fungsi pfnFlipOverlayCb , yang digunakan driver tampilan mode pengguna untuk mengubah alokasi yang ditampilkan overlay.

pfnDestroyOverlayCb

Penunjuk ke fungsi pfnDestroyOverlayCb , yang digunakan driver tampilan mode pengguna untuk menghancurkan objek overlay mode kernel dan menghentikan overlay ditampilkan.

pfnCreateContextCb

Penunjuk ke fungsi pfnCreateContextCb , yang digunakan driver tampilan mode pengguna untuk membuat konteks untuk mengirimkan permintaan.

pfnDestroyContextCb

Penunjuk ke fungsi pfnDestroyContextCb , yang digunakan driver tampilan mode pengguna untuk menghancurkan konteks yang dibuat pfnCreateContextCb .

pfnCreateSynchronizationObjectCb

Penunjuk ke fungsi pfnCreateSynchronizationObjectCb , yang digunakan driver tampilan mode pengguna untuk membuat objek sinkronisasi.

pfnDestroySynchronizationObjectCb

Penunjuk ke fungsi pfnDestroySynchronizationObjectCb , yang digunakan driver tampilan mode pengguna untuk menghancurkan objek sinkronisasi yang dibuat pfnCreateSynchronizationObjectCb .

pfnWaitForSynchronizationObjectCb

Penunjuk ke fungsi pfnWaitForSynchronizationObjectCb , yang digunakan driver tampilan mode pengguna untuk menunggu peristiwa sinkronisasi terjadi lalu menggunakan untuk kembali.

pfnSignalSynchronizationObjectCb

Penunjuk ke fungsi pfnSignalSynchronizationObjectCb , yang digunakan driver tampilan mode pengguna untuk memberi sinyal bahwa peristiwa sinkronisasi tidak lagi dimiliki oleh konteks.

pfnSetAsyncCallbacksCb

Penunjuk ke fungsi pfnSetAsyncCallbacksCb yang digunakan driver tampilan mode pengguna untuk memberi tahu runtime Direct3D apakah runtime akan memulai atau berhenti menerima panggilan ke fungsi panggilan balik runtime dari utas pekerja.

Hanya versi DirectX 9 dan Direct 9L dari runtime yang mendukung fungsi pfnSetAsyncCallbacksCb . DirectX 10 dan versi runtime yang lebih baru mengatur anggota pfnSetAsyncCallbacksCb ke NULL saat runtime memanggil fungsi CreateDevice (D3D10) driver tampilan mode pengguna untuk membuat perangkat penyajian.

pfnSetDisplayPrivateDriverFormatCb

Penunjuk ke fungsi pfnSetDisplayPrivateDriverFormatCb yang digunakan driver tampilan mode pengguna untuk mengubah format permukaan utama bersama.

pfnOfferAllocationsCb

Penunjuk ke fungsi pfnOfferAllocationsCb , yang digunakan kembali driver mode pengguna WDDM 1.2 dan yang lebih baru untuk menawarkan alokasi memori video untuk digunakan kembali.

Didukung dimulai dengan Windows 8.

pfnReclaimAllocationsCb

Penunjuk ke fungsi pfnReclaimAllocationsCb , yang dipanggil driver tampilan mode pengguna WDDM 1.2 dan yang lebih baru untuk mengklaim kembali akses ke alokasi memori video yang sebelumnya ditawarkan untuk digunakan kembali.

Didukung dimulai dengan Windows 8.

pfnCreateSynchronizationObject2Cb

Penunjuk ke fungsi pfnCreateSynchronizationObject2Cb , yang digunakan driver tampilan mode pengguna WDDM 1.2 dan yang lebih baru untuk membuat objek sinkronisasi GPU.

Didukung dimulai dengan Windows 8.

pfnWaitForSynchronizationObject2Cb

Penunjuk ke fungsi pfnWaitForSynchronizationObject2Cb , yang digunakan driver tampilan mode pengguna WDDM 1.2 dan yang lebih baru untuk menunggu peristiwa sinkronisasi GPU terjadi dan kemudian digunakan untuk kembali.

Didukung dimulai dengan Windows 8.

pfnSignalSynchronizationObject2Cb

Penunjuk ke fungsi pfnSignalSynchronizationObject2Cb , yang digunakan driver tampilan mode pengguna WDDM 1.2 dan yang lebih baru untuk memberi sinyal bahwa peristiwa sinkronisasi GPU tidak lagi dimiliki oleh konteks.

Didukung dimulai dengan Windows 8.

pfnPresentMultiPlaneOverlayCb

Penunjuk ke fungsi pfnPresentMultiPlaneOverlayCb (D3D), yang digunakan driver tampilan mode pengguna WDDM 1.3 dan yang lebih baru untuk menyalin konten dari alokasi overlay multiplane sumber ke alokasi tujuan.

Didukung dimulai dengan Windows 8.1.

pfnLogUMDMarkerCb

Penunjuk ke fungsi pfnLogUMDMarkerCb , yang dipanggil driver tampilan mode pengguna WDDM 1.3 dan yang lebih baru untuk mencatat peristiwa penanda Pelacakan Peristiwa kustom untuk Windows (ETW).

Didukung dimulai dengan Windows 8.1.

pfnMakeResidentCb

Penunjuk ke fungsi pfnMakeResidentCb .

pfnEvictCb

Penunjuk ke fungsi pfnEvictCb .

pfnWaitForSynchronizationObjectFromCpuCb

Penunjuk ke fungsi pfnWaitForSynchronizationObjectFromCpuCb .

pfnSignalSynchronizationObjectFromCpuCb

Penunjuk ke fungsi pfnSignalSynchronizationObjectFromCpuCb .

pfnWaitForSynchronizationObjectFromGpuCb

Penunjuk ke fungsi pfnWaitForSynchronizationObjectFromGpuCb .

pfnSignalSynchronizationObjectFromGpuCb

Penunjuk ke fungsi pfnSignalSynchronizationObjectFromGpuCb .

pfnCreatePagingQueueCb

Penunjuk ke fungsi pfnCreatePagingQueueCb .

pfnDestroyPagingQueueCb

Penunjuk ke fungsi pfnDestroyPagingQueueCb .

pfnLock2Cb

Penunjuk ke fungsi pfnLock2Cb .

pfnUnlock2Cb

Penunjuk ke fungsi pfnUnlock2Cb .

pfnInvalidateCacheCb

Penunjuk ke fungsi pfnInvalidateCacheCb .

pfnReserveGpuVirtualAddressCb

Penunjuk ke fungsi pfnReserveGpuVirtualAddressCb .

pfnMapGpuVirtualAddressCb

Penunjuk ke fungsi pfnMapGpuVirtualAddressCb .

pfnFreeGpuVirtualAddressCb

Penunjuk ke fungsi pfnFreeGpuVirtualAddressCb .

pfnUpdateGpuVirtualAddressCb

Penunjuk ke fungsi pfnUpdateGpuVirtualAddressCb .

pfnCreateContextVirtualCb

Penunjuk ke fungsi pfnCreateContextVirtualCb .

pfnSubmitCommandCb

Penunjuk ke fungsi pfnSubmitCommandCb .

pfnDeallocate2Cb

Penunjuk ke fungsi pfnDeallocate2Cb .

pfnSignalSynchronizationObjectFromGpu2Cb

Penunjuk ke fungsi pfnSignalSynchronizationObjectFromGpu2Cb .

pfnReclaimAllocations2Cb

Penunjuk ke fungsi pfnReclaimAllocations2Cb .

pfnGetResourcePresentPrivateDriverDataCb

Penunjuk ke fungsi pfnGetResourcePresentPrivateDriverDataCb .

pfnUpdateAllocationPropertyCb

Penunjuk ke fungsi pfnUpdateAllocationPropertyCb .

pfnOfferAllocations2Cb

Penunjuk ke fungsi pfnOfferAllocations2Cb .

pfnReclaimAllocations3Cb

Penunjuk ke fungsi pfnReclaimAllocations3Cb .

pfnAcquireResourceCb

pfnReleaseResourceCb

pfnCreateHwContextCb

Penunjuk ke fungsi panggilan balik PFND3DDDI_CREATEHWCONTEXTCB .

pfnDestroyHwContextCb

Penunjuk ke fungsi panggilan balik PFND3DDDI_DESTROYHWCONTEXTCB .

pfnCreateHwQueueCb

Penunjuk ke fungsi panggilan balik PFND3DDDI_CREATEHWQUEUECB .

pfnDestroyHwQueueCb

Penunjuk ke fungsi panggilan balik PFND3DDDI_DESTROYHWQUEUECB .

pfnSubmitCommandToHwQueueCb

Penunjuk ke fungsi panggilan balik PFND3DDDI_SUBMITCOMMANDTOHWQUEUECB .

pfnSubmitWaitForSyncObjectsToHwQueueCb

Penunjuk ke fungsi panggilan balik PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECB .

pfnSubmitSignalSyncObjectsToHwQueueCb

Penunjuk ke fungsi panggilan balik PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECB .

pfnSubmitPresentBltToHwQueueCb

Penunjuk ke fungsi panggilan balik PFND3DDDI_SUBMITPRESENTBLTTOHWQUEUECB .

pfnSubmitPresentToHwQueueCb

Penunjuk ke fungsi panggilan balik PFND3DDDI_SUBMITPRESENTTOHWQUEUECB .

pfnSubmitHistorySequenceCb

Penunjuk ke fungsi panggilan balik PFND3DDDI_SUBMITHISTORYSEQUENCECB .

Keterangan

Deklarasi untuk fungsi panggilan balik yang D3DDDI_DEVICECALLBACKS poin anggota dapat ditemukan di d3dumddi.h.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Header d3dumddi.h (termasuk D3dumddi.h)