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;
#if (D3D_UMD_INTERFACE_VERSION >= D3D_UMD_INTERFACE_VERSION_WIN8)
  PFND3DDDI_OFFERALLOCATIONSCB                    pfnOfferAllocationsCb;
  PFND3DDDI_RECLAIMALLOCATIONSCB                  pfnReclaimAllocationsCb;
  PFND3DDDI_CREATESYNCHRONIZATIONOBJECT2CB        pfnCreateSynchronizationObject2Cb;
  PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECT2CB       pfnWaitForSynchronizationObject2Cb;
  PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECT2CB        pfnSignalSynchronizationObject2Cb;
  PFND3DDDI_PRESENTMULTIPLANEOVERLAYCB            pfnPresentMultiPlaneOverlayCb;
#endif
#if (D3D_UMD_INTERFACE_VERSION >= D3D_UMD_INTERFACE_VERSION_WDDM1_3)
  PFND3DDDI_LOGUMDMARKERCB                        pfnLogUMDMarkerCb;
#endif
#if (D3D_UMD_INTERFACE_VERSION >= D3D_UMD_INTERFACE_VERSION_WDDM2_0)
  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;
#endif
#if (D3D_UMD_INTERFACE_VERSION >= D3D_UMD_INTERFACE_VERSION_WDDM2_1_1)
  PFND3DDDI_UPDATEALLOCATIONPROPERTYCB            pfnUpdateAllocationPropertyCb;
#endif
  PFND3DDDI_OFFERALLOCATIONS2CB                   pfnOfferAllocations2Cb;
  PFND3DDDI_RECLAIMALLOCATIONS3CB                 pfnReclaimAllocations3Cb;
} 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

pfnSubmitHistorySequenceCb

注解

以下代码(来自 D3dumddi.h)显示 D3DDDI_DEVICECALLBACKS 成员指向的回调函数的函数声明。

typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_ALLOCATECB)(
        _In_ HANDLE hDevice, _Inout_ D3DDDICB_ALLOCATE*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_DEALLOCATECB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_DEALLOCATE*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_SETPRIORITYCB)(
        _In_ HANDLE hDevice, _In_ D3DDDICB_SETPRIORITY*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_QUERYRESIDENCYCB)(
        _In_ HANDLE hDevice, _Inout_ CONST D3DDDICB_QUERYRESIDENCY*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_SETDISPLAYMODECB)(
        _In_ HANDLE hDevice, _Inout_ D3DDDICB_SETDISPLAYMODE*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_PRESENTCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_PRESENT*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_RENDERCB)(
        _In_ HANDLE hDevice, _Inout_ D3DDDICB_RENDER*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_LOCKCB)(
        _In_ HANDLE hDevice, _Inout_ D3DDDICB_LOCK*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_UNLOCKCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_UNLOCK*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_ESCAPECB)(
        _In_ HANDLE hAdapter, _Inout_ CONST D3DDDICB_ESCAPE*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_CREATEOVERLAYCB)(
        _In_ HANDLE hDevice, _Inout_ D3DDDICB_CREATEOVERLAY*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_UPDATEOVERLAYCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_UPDATEOVERLAY*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_FLIPOVERLAYCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_FLIPOVERLAY*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_DESTROYOVERLAYCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_DESTROYOVERLAY*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_CREATECONTEXTCB)(
        _In_ HANDLE hDevice, _Inout_ D3DDDICB_CREATECONTEXT*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_DESTROYCONTEXTCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_DESTROYCONTEXT*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_CREATESYNCHRONIZATIONOBJECTCB)(
        _In_ HANDLE hDevice, _Inout_ D3DDDICB_CREATESYNCHRONIZATIONOBJECT*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_DESTROYSYNCHRONIZATIONOBJECTCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_DESTROYSYNCHRONIZATIONOBJECT*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_SETASYNCCALLBACKSCB)(
        _In_ HANDLE hDevice, _In_ BOOL Enable);
#if (D3D_UMD_INTERFACE_VERSION >= D3D_UMD_INTERFACE_VERSION_WIN8)
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_CREATESYNCHRONIZATIONOBJECT2CB)(
        _In_ HANDLE hDevice, _Inout_ D3DDDICB_CREATESYNCHRONIZATIONOBJECT2*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECT2CB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT2*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECT2CB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT2*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_OFFERALLOCATIONSCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_OFFERALLOCATIONS*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_RECLAIMALLOCATIONSCB)(
        _In_ HANDLE hDevice, _Inout_ CONST D3DDDICB_RECLAIMALLOCATIONS*);
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_PRESENTMULTIPLANEOVERLAYCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_PRESENTMULTIPLANEOVERLAY*);
#endif
#if (D3D_UMD_INTERFACE_VERSION >= D3D_UMD_INTERFACE_VERSION_WDDM1_3)
typedef _Check_return_ HRESULT (APIENTRY CALLBACK *PFND3DDDI_LOGUMDMARKERCB)(
        _In_ HANDLE hDevice, _In_ CONST D3DDDICB_LOGUMDMARKER*);
#endif

要求

   
最低受支持的客户端 在 Windows Vista 及更高版本的 Windows 操作系统中可用。
Header d3dumddi.h (包括 D3dumddi.h)

请参阅

pfnSignalSynchronizationObject2Cb

pfnUpdateOverlayCb

pfnDestroyContextCb

pfnWaitForSynchronizationObject2Cb

pfnDeallocateCb

CreateDevice (D3D10)

pfnUnlockCb

pfnQueryResidencyCb

pfnCreateContextCb

pfnWaitForSynchronizationObjectCb

pfnAllocateCb

pfnEscapeCb

pfnSetDisplayPrivateDriverFormatCb

pfnOfferAllocations2Cb

pfnSetPriorityCb

pfnReclaimAllocations3Cb

pfnPresentMultiPlaneOverlayCb (D3D)

pfnSetDisplayModeCb

pfnDestroyOverlayCb

pfnDestroySynchronizationObjectCb

pfnLockCb

pfnSetAsyncCallbacksCb

CreateDevice

pfnLogUMDMarkerCb

pfnSignalSynchronizationObjectCb

pfnRenderCb

pfnFlipOverlayCb

pfnCreateSynchronizationObject2Cb

pfnCreateSynchronizationObjectCb

pfnCreateOverlayCb

pfnPresentCb