ID3DDestructionNotifier 接口 (d3dcommon.h)
ID3DDestructionNotifier 是一个接口,可用于在销毁 Direct3D nano-COM 对象时注册回调。
若要获取此接口的实例,请在 ID3DDestructionNotifier 的 IID 上调用 Direct3D 对象。
使用 ID3DDestructionNotifier 而不是 ID3D12Object::SetPrivateDataInterface 或 Direct3D 11 等效项可以更强地保证销毁顺序。 使用 ID3DDestructionNotifier 时,隐式关系(如包含对其基础 ID3D11Resource 的引用的 ID3D11View)保证有效,并且对于此处 (引用的对象, ID3D11Object) 在调用销毁回调时仍处于活动状态。 使用 ID3D12Object::SetPrivateDataInterface 时,可以在调用销毁回调之前释放隐式引用。
访问在回调期间被析构的对象是不安全的。
继承
ID3DDestructionNotifier 接口继承自 IUnknown 接口。
方法
ID3DDestructionNotifier 接口具有这些方法。
ID3DDestructionNotifier::RegisterDestructionCallback 注册一个用户定义的回调,以在销毁创建此 ID3DDestructionNotifier 的对象时调用。 |
ID3DDestructionNotifier::UnregisterDestructionCallback 注销已注册到 RegisterDestructionCallback 的回调。 |
备注
ID3DDestructionNotifier 可用于跟踪提前意外发布的资源,或提供对象处置日志。
要求
最低受支持的客户端 | Windows 7 [桌面应用|UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | d3dcommon.h |
另请参阅
ID3DDestructionNotifier::RegisterDestructionCallback