共用方式為


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(&notifier)))
{
    UINT callbackId;
    ThrowIfFailed(notifier->RegisterDestructionCallback(LogResourceReleased, nullptr, &callbackId));
}

void LogResourceReleased(void* context)
{
    OutputDebugString("Resource released!\n");
}

規格需求

   
目標平臺 Windows
標頭 d3dcommon.h

另請參閱

ID3DDestructionNotifier

ID3DDestructionNotifier::UnregisterDestructionCallback