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

# CreateReservedResource2 (XBOX Series 本体)

> ID3D12Device10 の CreateReservedResource2 は、初期レイアウトを持ち、ヒープ ページにまだマップされていない予約済みの D3D12 リソースを XBOX Series 本体で作成します。

予約済みで、ヒープ内のどのページにもまだマップされていないリソースを作成します。

DirectX 12 Agility SDK 1.7 以降が必要です。

## 構文

```cpp theme={null}
HRESULT CreateReservedResource2(
    const D3D12_RESOURCE_DESC  pDesc,
    D3D12_BARRIER_LAYOUT InitialLayout,
    const D3D12_CLEAR_VALUE  pOptimizedClearValue,
    ID3D12ProtectedResourceSession  pProtectedSession,
    UINT32 NumCastableFormats,
    DXGI_FORMAT  pCastableFormats,
    const IID & riid,
    void  ppvResource
)
```

### パラメーター

*pDesc*\
型: const D3D12\_RESOURCE\_DESC \*

リソースを記述する **D3D12\_RESOURCE\_DESC** 構造体へのポインター。

*InitialLayout*\
型: D3D12\_BARRIER\_LAYOUT

テクスチャ リソースの初期レイアウト。バッファーの場合は **D3D12\_BARRIER\_LAYOUT::D3D12\_BARRIER\_LAYOUT\_UNDEFINED**。

*pOptimizedClearValue*\
型: const D3D12\_CLEAR\_VALUE \*

クリア カラーのデフォルト値を記述する **D3D12\_CLEAR\_VALUE** 構造体を指定します。

*pOptimizedClearValue* は、クリア操作が最も最適化される値を指定します。作成されるリソースが [D3D12\_RESOURCE\_FLAG\_ALLOW\_RENDER\_TARGET](https://docs.xbox.com/ja-jp/reference/graphics/d3d12_x/enums/d3d12_resource_flags.md) または **D3D12\_RESOURCE\_FLAG\_ALLOW\_DEPTH\_STENCIL** フラグを持つテクスチャの場合、クリア操作が最も頻繁に呼び出される値を選択する必要があります。他の値でクリア操作を呼び出すこともできますが、その操作はリソース作成時に渡された値と一致する場合ほど効率的ではありません。

[D3D12\_RESOURCE\_DIMENSION\_BUFFER](https://docs.xbox.com/ja-jp/reference/graphics/d3d12_x/enums/d3d12_resource_dimension.md) を使用する場合は、*pOptimizedClearValue* を `nullptr` に設定する必要があります。

*pProtectedSession*\
型: ID3D12ProtectedResourceSession \*

コンテンツ保護のセッションを表すオブジェクトへの省略可能なポインター。指定された場合、このセッションはリソースを保護する必要があることを示します。**ID3D12ProtectedResourceSession** は、[ID3D12Device4::CreateProtectedResourceSession](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createprotectedresourcesession_public.md) を呼び出すことで取得できます。

*NumCastableFormats*\
型: UINT32

*pCastableFormats* 内の要素の数。

*pCastableFormats*\
型: DXGI\_FORMAT \*

このリソースがキャスト可能な [DXGI\_FORMAT](https://learn.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) 構造体の連続した配列。

*riid \[in]*\
型: const IID &

*ppvResource* で返されるリソース インターフェイスのグローバル一意識別子 (**GUID**) への参照。**解説** を参照してください。

*riidResource* は最も一般的には [ID3D12Resource](https://docs.xbox.com/ja-jp/reference/graphics/d3d12_xs/interfaces/ID3D12Resource/id3d12resource_xs.md) の **GUID** ですが、任意のインターフェイスの **GUID** である可能性があります。リソース オブジェクトがこの **GUID** のインターフェイスをサポートしていない場合、作成は **E\_NOINTERFACE** で失敗します。

*ppvResource*\
型: void \*\*

作成されたリソース オブジェクトへの要求されたインターフェイス ポインターを受け取るメモリ ブロックへの省略可能なポインター。

*ppvResource* を `nullptr` にして機能テストを有効にできます。*ppvResource* が `nullptr` の場合、オブジェクトは作成されず、*pDesc* が有効な場合は **S\_FALSE** が返されます。

### 戻り値

型: HRESULT

関数が成功した場合、**S\_OK** を返します。それ以外の場合は、[**HRESULT**](https://learn.microsoft.com/en-us/windows/win32/com/structure-of-com-error-codes) [エラー コード](https://learn.microsoft.com/en-us/windows/win32/com/com-error-codes-10) を返します。

| 戻り値 | 説明 |
| - | - |
| E\_OUTOFMEMORY | リソースを作成するのに十分なメモリがありません。 |

その他の戻り値については、[Direct3D 12 の戻りコード](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-graphics-reference-returnvalues) を参照してください。

## 解説

[ID3D12Device.CreateReservedResource](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createreservedresource_public.md) の **解説** を参照してください。

## 要件

**ヘッダー:** d3d12\_xs.h\
**ライブラリ:** d3d12\_xs.lib\
**サポートされているプラットフォーム**: XBOX Series 本体

## 関連項目

[CreateCommittedResource](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public.md)

[CreatePlacedResource](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public.md)

[ID3D12Device10](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12device10/id3d12device10_public.md)


## Related topics

- [CreatePlacedResource2 (XBOX Series 本体)](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createplacedresource2_public.md)
- [CreateReservedResource1 (XBOX Series 本体)](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createreservedresource1_public.md)
- [CreateHeap1 (XBOX Series 本体)](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createheap1_public.md)
- [CreateCommandList1 (XBOX Series 本体)](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommandlist1_public.md)
- [CreateCommandQueue1 (XBOX Series 本体)](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_createcommandqueue1_public.md)
