> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RemoveDevice (consoles XBOX Series)

> Você pode chamar **RemoveDevice** para indicar ao runtime do Direct3D 12 que o dispositivo de GPU encontrou um problema e não pode mais ser usado.

Você pode chamar **RemoveDevice** para indicar ao runtime do Direct3D 12 que o dispositivo de GPU encontrou um problema e não pode mais ser usado. Isso fará com que todas as fences monitoradas de todos os dispositivos sejam sinalizadas. Normalmente, seu aplicativo não precisa chamar **RemoveDevice** explicitamente.

## Comentários

Como a remoção do dispositivo faz com que todas as fences sejam sinalizadas com `UINT64_MAX`, você pode criar um retorno de chamada para a remoção do dispositivo usando um evento.

```cpp theme={null}
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
}
```

## Requisitos

**Cabeçalho:** d3d12\_xs.h\
**Biblioteca:** d3d12\_xs.lib\
**Plataformas com suporte**: consoles XBOX Series

## Consulte também


## Related topics

- [GetDeviceRemovedReason](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getdeviceremovedreason_public.md)
- [ID3D12DeviceRemovedExtendedData](/pt-BR/reference/graphics/d3d12/interfaces/id3d12deviceremovedextendeddata/id3d12deviceremovedextendeddata_public.md)
- [D3D12_DEVICE_REMOVED_EXTENDED_DATA](/pt-BR/reference/graphics/d3d12/structs/d3d12_device_removed_extended_data_public.md)
- [ID3D12DeviceRemovedExtendedDataSettings](/pt-BR/reference/graphics/d3d12/interfaces/id3d12deviceremovedextendeddatasettings/id3d12deviceremovedextendeddatasettings_public.md)
- [D3D12_DEVICE_REMOVED_EXTENDED_DATA1](/pt-BR/reference/graphics/d3d12/structs/d3d12_device_removed_extended_data1_public.md)
