ID3DDestructionNotifier::RegisterDestructionCallback 方法 (d3dcommon.h)
注册一个用户定义的回调,以在销毁创建此 ID3DDestructionNotifier 的对象时调用。
语法
HRESULT RegisterDestructionCallback(
PFN_DESTRUCTION_CALLBACK callbackFn,
void *pData,
UINT *pCallbackID
);
参数
callbackFn
类型: PFN_DESTRUCTION_CALLBACK
销毁对象时要调用的用户定义回调。
pData
类型: void*
调用时要传递给 callbackFn 的数据
pCallbackID
类型: UINT*
指向 UINT 的指针,用于标识回调,并传递给 以取消注册回调。
返回值
类型: HRESULT
如果此函数成功,则返回 S_OK。
备注
此接口用于记录 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");
}
要求
目标平台 | Windows |
标头 | d3dcommon.h |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈