Share via


ID3DDestructionNotifier::RegisterDestructionCallback-Methode (d3dcommon.h)

Registriert einen benutzerdefinierten Rückruf, der bei der Zerstörung des Objekts aufgerufen wird, aus dem dieser ID3DDestructionNotifier erstellt wurde.

Syntax

HRESULT RegisterDestructionCallback(
  PFN_DESTRUCTION_CALLBACK callbackFn,
  void                     *pData,
  UINT                     *pCallbackID
);

Parameter

callbackFn

Typ: PFN_DESTRUCTION_CALLBACK

Ein benutzerdefinierter Rückruf, der aufgerufen werden soll, wenn das Objekt zerstört wird.

pData

Typ: void*

Die Daten, die beim Aufruf an callbackFn übergeben werden sollen

pCallbackID

Typ: UINT*

Zeiger auf eine UINT , die zum Identifizieren des Rückrufs verwendet wird, und übergeben an, um die Registrierung des Rückrufs aufzuheben.

Rückgabewert

Typ: HRESULT

Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück.

Hinweise

Ein Beispiel für diese Schnittstelle, die verwendet wird, um die Zerstörung einer ID3D12Resource zu protokollieren.

#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");
}

Anforderungen

   
Zielplattform Windows
Kopfzeile d3dcommon.h

Weitere Informationen

ID3DDestructionNotifier

ID3DDestructionNotifier::UnregisterDestructionCallback