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

# CreateHeap1 (XBOX Series 本体)

> 配置リソースおよび予約済みリソースで使用できるヒープ (オプションで保護されたセッション用) を作成します。

配置リソースおよび予約済みリソースで使用できるヒープ (オプションで保護されたセッション用) を作成します。[ID3D12Device::CreateHeap](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createheap_public) も参照してください。

## 構文

```cpp theme={null}
HRESULT CreateHeap1(
    const D3D12_HEAP_DESC  pDesc,
    ID3D12ProtectedResourceSession  pProtectedSession,
    const IID & riid,
    void  ppvHeap
)
```

### パラメーター

*pDesc \[in]*<br />型: const D3D12\_HEAP\_DESC \*

ヒープを記述する定数 **D3D12\_HEAP\_DESC** 構造体へのポインター。

*pProtectedSession \[in, optional]*<br />型: ID3D12ProtectedResourceSession \*

コンテンツ保護のセッションを表すオブジェクトへのオプションのポインター。指定された場合、このセッションはヒープが保護されるべきであることを示します。**ID3D12ProtectedResourceSession** は [ID3D12Device4::CreateProtectedResourceSession](/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createprotectedresourcesession_public) を呼び出して取得できます。

保護されたセッションを持つヒープは、[D3D12\_HEAP\_FLAG\_SHARED\_CROSS\_ADAPTER](/reference/graphics/d3d12_x/enums/d3d12_heap_flags) フラグを使用して作成することはできません。

*riid \[in]*<br />型: const IID &

*ppvHeap* に返すヒープ インターフェイスのグローバル一意識別子 (**GUID**) への参照。

*riidResource* は最も一般的には [ID3D12Heap](/reference/graphics/d3d12/interfaces/id3d12heap/id3d12heap_public) の **GUID** ですが、任意のインターフェイスの **GUID** にすることができます。リソース オブジェクトがこの **GUID** のインターフェイスをサポートしていない場合、作成は **E\_NOINTERFACE** で失敗します。

*ppvHeap \[out, optional]*<br />型: void \*\*

作成されたヒープ オブジェクトへの要求されたインターフェイス ポインターを受け取るメモリ ブロックへのオプションのポインター。

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

### 戻り値

型: HRESULT

関数が成功した場合は **S\_OK** を返します。それ以外の場合は [**HRESULT**](https://learn.microsoft.com/en-us/windows/desktop/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) を参照してください。

## 解説

**CreateHeap1** は、配置リソースおよび予約済みリソースで使用できるヒープを作成します。

ヒープの最後の参照を解放する前に、アプリケーションは GPU がこのヒープの読み取りや書き込みを行わなくなることを確認する必要があります。

配置リソース オブジェクトは、作成元のヒープへの参照を保持しますが、予約済みリソースは、ヒープに対して行われた各マッピングの参照を保持しません。

## 要件

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

## 関連項目


## Related topics

- [CreateCommandList1 (XBOX Series 本体)](/ja-jp/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommandlist1_public.md)
- [CreateCommandQueue1 (XBOX Series 本体)](/ja-jp/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_createcommandqueue1_public.md)
- [CreateMetaCommand (XBOX Series 本体)](/ja-jp/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_createmetacommand_public.md)
- [CreateCommittedResource1 (XBOX Series 本体)](/ja-jp/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
- [CreateReservedResource1 (XBOX Series 本体)](/ja-jp/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createreservedresource1_public.md)
