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

> 実験的機能のリストを有効にします。

実験的機能のリストを有効にします。

## 構文

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

### パラメーター

*NumFeatures*\
型: UINT

有効にする実験的機能の数。

*pIIDs \[in]*\
型: 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>

利用可能な実験的機能のうち、どれを有効にするかを指定する ID の配列へのポインター。

*pConfigurationStructs \[in]*\
型: 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>

一部の実験的機能を有効にするために必要となる追加の構成の詳細を含む構造体。

*pConfigurationStructSizes \[in]*\
型: 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>

pConfigurationStructs パラメーターで渡される構成構造体のサイズ。

### 戻り値

型: HRESULT

このメソッドは HRESULT の成功またはエラー コードを返します。認識されない機能が指定されているか、開発者モードが有効になっていない場合は E\_NOINTERFACE、機能の構成が正しくないか、指定された実験的機能が互換性がないなどのエラーの場合は E\_INVALIDARG が含まれる場合があります。

## 解説

デバイス作成前にこの関数を呼び出します。

実験的機能のセットは時間とともに変化し、これらの機能は安定していない可能性があるため、開発および実験目的でのみ使用することを目的としています。これは、実験的機能を有効にする前に開発者モードが有効である必要があるという要件によって強制されます。

現在サポートされている実験的機能のセットは、D3D12EnableExperimentalFeatures 関数の定義付近の D3D12.h ヘッダーで確認できます。実験的機能は頻繁には提供されないため、通常は現在サポートされている実験的機能がないことが一般的です。

一部の実験的機能は、GUID として IID を使用して識別される場合があります。これらの機能では、D3D12GetDebugInterface にパラメーターとして IID を渡すことで、その機能を操作するためのインターフェイスを取得できます。

この関数が異なる機能のリストで再度呼び出されると、現在のすべての D3D12 デバイスは DEVICE\_REMOVED 状態に設定されます。

#### 例

この例では、実験的機能の定義がどのように見えるかを示します。

```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 }
};

```

## 要件

**ヘッダー:** d3d12\_xs.h または d3d12\_x.h\
**ライブラリ:** d3d12\_xs.lib または d3d12\_x.lib\
**サポートされるプラットフォーム**: XBOX Series 本体および XBOX One ファミリ

## 関連項目

[コア関数](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-functions)


## Related topics

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