> ## 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.

# D3D12CreateDevice (família XBOX One)

> D3D12CreateDevice (consoles da família XBOX One) — Cria um dispositivo que representa o adaptador de vídeo. Referência da API de gráficos Direct3D 12 para desenvolvimento no XBOX.

Cria um dispositivo que representa o adaptador de vídeo.

## Sintaxe

```cpp theme={null}
HRESULT D3D12CreateDevice(  
         IGraphicsUnknown* pAdapter,  
         D3D_FEATURE_LEVEL MinimumFeatureLevel,  
         REFIID riid,  
         void** ppDevice  
)  
```

### Parâmetros

*pAdapter*   \_In\_opt\_\
Tipo: IGraphicsUnknown\*

Um ponteiro para o adaptador de vídeo a ser usado ao criar um [dispositivo](https://learn.microsoft.com/en-us/windows/win32/direct3d11/overviews-direct3d-11-devices-intro). Para usar o adaptador padrão, defina como **NULL**.

*MinimumFeatureLevel*   \
Tipo: D3D\_FEATURE\_LEVEL

O nível mínimo de recursos necessário para criar um dispositivo com êxito.

*riid*   \_In\_\
Tipo: REFIID

O identificador global exclusivo (GUID) da interface do dispositivo.

*ppDevice*   \_Outptr\_opt\_\
Tipo: void\*\*

Um ponteiro para um bloco de memória que recebe um ponteiro para o dispositivo.

### Valor retornado

Tipo: HRESULT

Retorna S\_OK se for bem-sucedido; caso contrário, retorna um código de erro.

Retorna E\_NOINTERFACE:

* Se *pAdapter* não especificar um **ID3D12Device**
* Se não for possível criar o adaptador para o dispositivo

## Comentários

Antes de alocar memória gráfica, o título deve inicializar o sistema de memória gráfica no kernel.  **D3D12CreateDevice** permite criar um dispositivo Direct3D 12 e alocar a memória necessária. Se o título precisar alocar ou reservar memória gráfica antes de o dispositivo Direct3D 12 ser criado, você poderá usar **D3DConfigureVirtualMemory** para inicializar o sistema de memória gráfica. Criar um dispositivo Direct3D 12 equivale a chamar **D3DConfigureVirtualMemory** com os parâmetros padrão. Para obter os objetos a serem passados para *riid* e *ppDevice*, use a macro [IID\_PPV\_ARGS](https://learn.microsoft.com/en-us/windows/win32/api/combaseapi/nf-combaseapi-iid_ppv_args).

## Requisitos

**Cabeçalho:** d3d12\_x.h

**Biblioteca:** d3d12\_x.lib

**Plataformas com suporte:** família XBOX One

## Confira também

[d3d12\_x](/pt-BR/reference/graphics/d3d12_x/d3d12_x_members)\
[D3D\_FEATURE\_LEVEL](https://learn.microsoft.com/en-us/windows/win32/api/d3dcommon/ne-d3dcommon-d3d_feature_level)\
[D3D12XboxCreateDevice](/pt-BR/reference/graphics/d3d12_x/functions/d3d12xboxcreatedevice)\
[Visão geral da memória gráfica para o Microsoft Game Development Kit](https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/graphics/graphics-memory-overview)


## Related topics

- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [ID3D12Device2](/reference/graphics/d3d12/interfaces/id3d12device2/id3d12device2_public.md)
- [ID3D12Device1](/reference/graphics/d3d12/interfaces/id3d12device1/id3d12device1_public.md)
