> ## 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 una lista de características experimentales.

Habilita una lista de características experimentales.

## Sintaxis

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

### Parámetros

*NumFeatures*\
Tipo: UINT

El número de características experimentales que se van a habilitar.

*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>

Un puntero a una matriz de identificadores que especifican cuáles de las características experimentales disponibles se van a habilitar.

*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>

Estructuras que contienen detalles de configuración adicionales que algunas características experimentales podrían necesitar para habilitarse.

*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>

Los tamaños de las estructuras de configuración pasadas en el parámetro pConfigurationStructs.

### Valor devuelto

Tipo: HRESULT

Este método devuelve un código HRESULT de éxito o de error, que puede incluir E\_NOINTERFACE si se especifica una característica no reconocida o el modo de desarrollador no está habilitado, o E\_INVALIDARG si la configuración de una característica es incorrecta, las características experimentales especificadas no son compatibles entre sí, u otros errores.

## Comentarios

Llame a esta función antes de la creación del dispositivo.

Dado que el conjunto de características experimentales cambiará con el tiempo, y dado que estas características pueden no ser estables, están destinadas únicamente al desarrollo y la experimentación. Esto se aplica exigiendo que el modo de desarrollador esté activo antes de poder habilitar cualquier característica experimental.

El conjunto de características experimentales que se admiten actualmente se puede encontrar en el encabezado D3D12.h, cerca de la definición de la función D3D12EnableExperimentalFeatures; dado que las características experimentales solo se ponen a disposición con poca frecuencia, es habitual encontrar que actualmente no se admite ninguna característica experimental.

Algunas características experimentales podrían identificarse mediante un IID como GUID. Para estas características, puede usar D3D12GetDebugInterface, pasando un IID como parámetro, para recuperar la interfaz que permite manipular esa característica.

Si se vuelve a llamar a esta función con una lista diferente de características para habilitar, todos los dispositivos D3D12 actuales se establecen en el estado DEVICE\_REMOVED.

#### Ejemplos

En este ejemplo se muestra el aspecto de la definición de una característica 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

**Encabezado:** d3d12\_xs.h o d3d12\_x.h\
**Biblioteca:** d3d12\_xs.lib o d3d12\_x.lib\
**Plataformas compatibles**: consolas XBOX Series y familia XBOX One

## Consulte también

[Funciones principales](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-functions)


## Related topics

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