Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können RemoveDevice aufrufen, um der Direct3D 12-Runtime mitzuteilen, dass auf dem GPU-Gerät ein Problem aufgetreten ist und nicht mehr verwendet werden kann. Dies führt dazu, dass die überwachten Zäune aller Geräte signalisiert werden. Ihre Anwendung muss RemoveDevice in der Regel nicht explizit aufrufen.
Syntax
void RemoveDevice();
Rückgabewert
Keine
Bemerkungen
Da beim Entfernen des Geräts alle Zäune signalisiert werden, UINT64_MAXkönnen Sie mithilfe eines Ereignisses einen Rückruf für die Geräteentfernung erstellen.
HANDLE deviceRemovedEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
assert(deviceRemovedEvent != NULL);
_deviceFence->SetEventOnCompletion(UINT64_MAX, deviceRemoved);
HANDLE waitHandle;
RegisterWaitForSingleObject(
&waitHandle,
deviceRemovedEvent,
OnDeviceRemoved,
_device.Get(), // Pass the device as our context
INFINITE, // No timeout
0 // No flags
);
void OnDeviceRemoved(PVOID context, BOOLEAN)
{
ID3D12Device* removedDevice = (ID3D12Device*)context;
HRESULT removedReason = removedDevice->GetDeviceRemovedReason();
// Perform app-specific device removed operation, such as logging or inspecting DRED output
}
Anforderungen
| Unterstützte Mindestversion (Client) | Windows 10 Build 20348 |
| Unterstützte Mindestversion (Server) | Windows 10 Build 20348 |
| Zielplattform | Windows |
| Kopfzeile | d3d12.h |