ID3D11Device4::RegisterDeviceRemovedEvent-Methode (d3d11_4.h)

Registriert das Ereignis "Gerät entfernt" und gibt mithilfe eines asynchronen Benachrichtigungsmechanismus an, wann ein Direct3D-Gerät aus irgendeinem Grund entfernt wurde.

Syntax

HRESULT RegisterDeviceRemovedEvent(
  [in]  HANDLE hEvent,
  [out] DWORD  *pdwCookie
);

Parameter

[in] hEvent

Typ: HANDLE

Das Handle für das Ereignis "Gerät entfernt".

[out] pdwCookie

Typ: DWORD*

Ein Zeiger auf Informationen zum Ereignis "Gerät entfernt", das in UnregisterDeviceRemoved verwendet werden kann, um die Registrierung des Ereignisses aufzuheben.

Rückgabewert

Typ: HRESULT

Siehe Direct3D 11-Rückgabecodes.

Hinweise

Gibt an, wenn ein Direct3D-Gerät aus irgendeinem Grund entfernt wurde, indem ein asynchroner Benachrichtigungsmechanismus verwendet wird und nicht als HRESULT aus Present. Der Grund für die Geräteentfernung kann mithilfe von ID3D11Device::GetDeviceRemovedReason abgerufen werden, nachdem sie über das Vorkommen benachrichtigt wurde.

Anwendungen registrieren und heben die Registrierung eines Win32-Ereignishandles bei einem bestimmten Gerät auf. Dieses Ereignishandle wird signalisiert, wenn das Gerät entfernt wird. Eine Abfrage der ID3D11Device::GetDeviceRemovedReason-Methode des Geräts gibt an, dass das Gerät entfernt wurde.

ISignalableNotifier oder SetThreadpoolWait kann von UWP-Apps verwendet werden.

Wenn das Grafikgerät verloren geht, empfängt die App oder der Titel das Grafikereignis, sodass die App oder der Titel weiß, dass ihr Grafikgerät nicht mehr gültig ist und dass die App oder der Titel ihre DirectX-Geräte sicher neu erstellen kann. Als Reaktion auf dieses Ereignis muss die App oder der Titel ihr Renderinggerät neu erstellen und an einen SetRenderingDevice-Aufruf für die Kompositionsgrafikgeräteobjekte übergeben.

Nach dem Festlegen dieses neuen Renderinggeräts muss die App oder der Titel inhalte aller bereits vorhandenen Oberflächen neu zeichnen, nachdem das OnRenderingDeviceReplaced-Ereignis des Kompositionsgrafikgeräts ausgelöst wurde.

Diese Methode unterstützt Composition für Geräteverluste.

Das Ereignis wird nicht signalisiert, wenn es am idealsten ist, neu zu erstellen. Stattdessen wird empfohlen, die Adapter-Ordnungszahl zu durchlaufen und die erste Ordnungszahl zu erstellen, die erfolgreich ist.

Die Anwendung kann ein Ereignis beim Gerät registrieren. Der Anwendung wird signalisiert, wenn das Gerät entfernt wird.

Wenn das Gerät bereits entfernt wurde, wird das Ereignis sofort durch Aufrufe von RegisterDeviceRemovedEvent signalisiert. Von RegisterDeviceRemovedEvent wird kein vom Gerät entfernter Fehlercode zurückgegeben.

Jedes Ereignis vom Typ "Gerät entfernt" wird nie oder nur einmal signalisiert. Diese Ereignisse werden während der Gerätevernichtung nicht signalisiert. Diese Ereignisse werden während der Zerstörung nicht registriert.

Die Semantik von RegisterDeviceRemovedEvent ähnelt IDXGIFactory2::RegisterOcclusionStatusEvent.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d11_4.h
Bibliothek D3d11.lib

Weitere Informationen

ID3D11Geräte4

UnregisterDeviceRemoved