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

# D3D12_DESCRIPTOR_HEAP_DESC

> Describes the descriptor heap.

Describes the descriptor heap.

## Syntax

```cpp theme={null}
typedef struct D3D12_DESCRIPTOR_HEAP_DESC
{
    D3D12_DESCRIPTOR_HEAP_TYPE Type;
    UINT NumDescriptors;
    D3D12_DESCRIPTOR_HEAP_FLAGS Flags;
    UINT NodeMask;
} D3D12_DESCRIPTOR_HEAP_DESC
```

### Members

*Type*\
Type: D3D12\_DESCRIPTOR\_HEAP\_TYPE

A [D3D12\_DESCRIPTOR\_HEAP\_TYPE](/reference/graphics/d3d12/enums/d3d12_descriptor_heap_type_public)-typed value that specifies the types of descriptors in the heap.

*NumDescriptors*\
Type: UINT

The number of descriptors in the heap.

*Flags*\
Type: D3D12\_DESCRIPTOR\_HEAP\_FLAGS

A combination of [D3D12\_DESCRIPTOR\_HEAP\_FLAGS](/reference/graphics/d3d12_x/enums/d3d12_descriptor_heap_flags)-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for the heap.

*NodeMask*\
Type: UINT

For single-adapter operation, set this to zero.
If there are multiple adapter nodes, set a bit to identify the node (one of the device's physical adapters) to which the descriptor heap applies.
Each bit in the mask corresponds to a single node.
Only one bit must be set.
See [Multi-adapter systems](https://learn.microsoft.com/en-us/windows/win32/direct3d12/multi-engine).

## Remarks

This structure is used by the following:

<ul>
  <li>
    [ID3D12DescriptorHeap::GetDesc](/reference/graphics/d3d12/interfaces/id3d12descriptorheap/methods/id3d12descriptorheap_getdesc_public)
  </li>

  <li>
    [ID3D12Device::CreateDescriptorHeap](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createdescriptorheap_public)
  </li>
</ul>

## Requirements

**Header:** d3d12\_xs.h or d3d12\_x.h\
**Library:** d3d12\_xs.lib or d3d12\_x.lib\
**Supported Platforms**: XBOX Series consoles and XBOX One family

## See Also

[Core Structures](https://learn.microsoft.com/en-us/windows/win32/direct3d12/direct3d-12-structures)

[Creating Descriptor Heaps](https://learn.microsoft.com/en-us/windows/win32/direct3d12/creating-descriptor-heaps)

[Descriptor Heaps](https://learn.microsoft.com/en-us/windows/win32/direct3d12/descriptor-heaps)


## Related topics

- [ID3D12DescriptorHeap::GetDesc](/reference/graphics/d3d12/interfaces/id3d12descriptorheap/methods/id3d12descriptorheap_getdesc_public.md)
- [D3D12_DESCRIPTOR_HEAP_TYPE](/reference/graphics/d3d12/enums/d3d12_descriptor_heap_type_public.md)
- [CreateDescriptorHeap](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createdescriptorheap_public.md)
- [ID3D12DescriptorHeap](/reference/graphics/d3d12/interfaces/id3d12descriptorheap/id3d12descriptorheap_public.md)
- [D3D12_GPU_DESCRIPTOR_HANDLE](/reference/graphics/d3d12/structs/d3d12_gpu_descriptor_handle_public.md)
