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

# D3D12EnableExperimentalFeatures

> Habilita uma lista de recursos experimentais.

Habilita uma lista de recursos experimentais.

## Sintaxe

```cpp theme={null}
HRESULT D3D12EnableExperimentalFeatures(
    UINT NumFeatures,
    const IID  pIIDs,
    void  pConfigurationStructs,
    UINT  pConfigurationStructSizes
)
```

### Parâmetros

*NumFeatures*\
Tipo: UINT

O número de recursos experimentais a serem habilitados.

*pIIDs \[in]*\
Tipo: const IID \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015\&preserve-view=true): <code>\_\_in\_ecount(NumFeatures)</code>

Um ponteiro para uma matriz de IDs que especificam quais dos recursos experimentais disponíveis devem ser habilitados.

*pConfigurationStructs \[in]*\
Tipo: void \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015\&preserve-view=true): <code>\_\_in\_ecount(NumFeatures)</code>

Estruturas que contêm detalhes de configuração adicionais que alguns recursos experimentais podem precisar para serem habilitados.

*pConfigurationStructSizes \[in]*\
Tipo: UINT \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015\&preserve-view=true): <code>\_\_in\_ecount(NumFeatures)</code>

Os tamanhos de quaisquer estruturas de configuração passadas no parâmetro pConfigurationStructs.

### Valor retornado

Tipo: HRESULT

Este método retorna um código de êxito ou de erro HRESULT, que pode incluir E\_NOINTERFACE se um recurso não reconhecido for especificado ou se o Modo de Desenvolvedor não estiver habilitado, ou E\_INVALIDARG se a configuração de um recurso estiver incorreta, se os recursos experimentais especificados não forem compatíveis, ou outros erros.

## Comentários

Chame esta função antes da criação do dispositivo.

Como o conjunto de recursos experimentais mudará com o tempo e como esses recursos podem não ser estáveis, eles se destinam apenas a desenvolvimento e experimentação. Isso é imposto exigindo que o Modo de Desenvolvedor esteja ativo antes que qualquer recurso experimental possa ser habilitado.

O conjunto de recursos experimentais com suporte no momento pode ser encontrado no cabeçalho D3D12.h, próximo à definição da função D3D12EnableExperimentalFeatures; como os recursos experimentais são disponibilizados apenas raramente, é comum descobrir que nenhum recurso experimental tem suporte no momento.

Alguns recursos experimentais podem ser identificados usando um IID como GUID. Para esses recursos, você pode usar D3D12GetDebugInterface, passando um IID como parâmetro, para recuperar a interface que manipula esse recurso.

Se esta função for chamada novamente com uma lista diferente de recursos a serem habilitados, todos os dispositivos D3D12 atuais serão definidos para o estado DEVICE\_REMOVED.

#### Exemplos

Este exemplo mostra a aparência de uma definição de recurso experimental.

```cpp theme={null}
// --------------------------------------------------------------------------------------------------------------------------------
// Experimental Feature: D3D12ExperimentalShaderModels
//
// Use with D3D12EnableExperimentalFeatures to enable experimental shader model support,
// meaning shader models that haven't been finalized for use in retail.
//
// Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array.
//
// --------------------------------------------------------------------------------------------------------------------------------
static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */
0x76f5573e,
0xf13a,
0x40f5,
{ 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f }
};

```

## Requisitos

**Cabeçalho:** d3d12\_xs.h ou d3d12\_x.h\
**Biblioteca:** d3d12\_xs.lib ou d3d12\_x.lib\
**Plataformas com suporte**: consoles XBOX Series e família XBOX One

## Confira também

[Funções principais](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-functions)


## Related topics

- [D3D12_COLOR_WRITE_ENABLE](/pt-BR/reference/graphics/d3d12/enums/d3d12_color_write_enable_public.md)
- [D3D12_BLEND_DESC](/pt-BR/reference/graphics/d3d12/structs/d3d12_blend_desc_public.md)
- [D3D12_DRED_ENABLEMENT](/pt-BR/reference/graphics/d3d12/enums/d3d12_dred_enablement_public.md)
- [D3D12_RENDER_TARGET_BLEND_DESC](/pt-BR/reference/graphics/d3d12/structs/d3d12_render_target_blend_desc_public.md)
- [D3D12_FEATURE](/pt-BR/reference/graphics/d3d12/enums/d3d12_feature_public.md)
