Interfaz ID3DDestructionNotifier (d3dcommon.h)
ID3DDestructionNotifier es una interfaz que puedes usar para registrar las devoluciones de llamada cuando se destruye un objeto Nano-COM de Direct3D.
Para adquirir una instancia de esta interfaz, llame a en un objeto Direct3D con el IID de ID3DDestructionNotifier.
El uso de ID3DDestructionNotifier en lugar de ID3D12Object::SetPrivateDataInterface o direct3D 11 equivalentes proporciona garantías más sólidas sobre el orden de destrucción. Con ID3DDestructionNotifier, se garantiza que las relaciones implícitas( como id3D11View que contiene una referencia a su origen ID3D11Resource subyacente) son válidas y para que el objeto al que se hace referencia (aquí, id3D11Object) siga estando activo cuando se invoca la devolución de llamada de destrucción. Con ID3D12Object::SetPrivateDataInterface, las referencias implícitas se pueden liberar antes de invocar la devolución de llamada de destrucción.
No es seguro acceder al objeto que se está construyendo durante la devolución de llamada.
Herencia
La interfaz ID3DDestructionNotifier hereda de la interfaz IUnknown .
Métodos
La interfaz ID3DDestructionNotifier tiene estos métodos.
ID3DDestructionNotifier::RegisterDestructionCallback Registra una devolución de llamada definida por el usuario que se invocará en la destrucción del objeto desde el que se creó este ID3DDestructionNotifier . |
ID3DDestructionNotifier::UnregisterDestructionCallback Anula el registro de una devolución de llamada registrada con RegisterDestructionCallback. |
Comentarios
Id3DDestructionNotifier se puede usar para realizar un seguimiento de los recursos que se liberan inesperadamente al principio o para proporcionar un registro de eliminación de objetos.
Requisitos
Cliente mínimo compatible | Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | d3dcommon.h |
Consulte también
ID3DDestructionNotifier::RegisterDestructionCallback