ID3DDestructionNotifier::RegisterDestructionCallback method (d3dcommon.h)
Registers a user-defined callback to be invoked on destruction of the object from which this ID3DDestructionNotifier was created.
Syntax
HRESULT RegisterDestructionCallback(
PFN_DESTRUCTION_CALLBACK callbackFn,
void *pData,
UINT *pCallbackID
);
Parameters
callbackFn
Type: PFN_DESTRUCTION_CALLBACK
A user-defined callback to be invoked when the object is destroyed.
pData
Type: void*
The data to pass to callbackFn when invoked
pCallbackID
Type: UINT*
Pointer to a UINT used to identify the callback, and to pass to to unregister the callback.
Return value
Type: HRESULT
If this function succeeds, it returns S_OK.
Remarks
An example of this interface being used to log the destruction of an ID3D12Resource.
#include <d3dcommon.h> // for ID3DDestructionNotifier
ComPtr<ID3D12Resource> resource = ...;
ComPtr<ID3DDestructionNotifier> notifier;
if (SUCCEEDED(resource.As(¬ifier)))
{
UINT callbackId;
ThrowIfFailed(notifier->RegisterDestructionCallback(LogResourceReleased, nullptr, &callbackId));
}
void LogResourceReleased(void* context)
{
OutputDebugString("Resource released!\n");
}
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | d3dcommon.h |