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

ID3DDestructionNotifier::UnregisterDestructionCallback

通用版本接口