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

# GetDescriptorHandleIncrementSize

> Obtiene el tamaño del incremento del identificador para el tipo dado de montón de descriptores. Este valor se usa normalmente para incrementar un identificador dentro de una matriz de descriptores.

Obtiene el tamaño del incremento del identificador para el tipo dado de montón de descriptores. Este valor se usa normalmente para incrementar un identificador dentro de una matriz de descriptores en la cantidad correcta.

## Sintaxis

```cpp theme={null}
UINT GetDescriptorHandleIncrementSize(
    D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType
)
```

### Parámetros

*DescriptorHeapType \[in]*\
Tipo: D3D12\_DESCRIPTOR\_HEAP\_TYPE

El valor de tipo [D3D12\_DESCRIPTOR\_HEAP\_TYPE](/reference/graphics/d3d12/enums/d3d12_descriptor_heap_type_public) que especifica el tipo de montón de descriptores del que se obtendrá el tamaño del incremento del identificador.

### Valor devuelto

Tipo: UINT

Devuelve el tamaño del incremento del identificador para el tipo dado de montón de descriptores, incluido cualquier relleno necesario.

## Comentarios

El tamaño de descriptor devuelto por este método se usa como una de las entradas de las estructuras auxiliares [CD3DX12\_CPU\_DESCRIPTOR\_HANDLE](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/cd3dx12-cpu-descriptor-handle) y [CD3DX12\_GPU\_DESCRIPTOR\_HANDLE](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/cd3dx12-gpu-descriptor-handle).

#### Ejemplos

El ejemplo [D3D12PredicationQueries](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/working-samples) usa **ID3D12Device::GetDescriptorHandleIncrementSize** de la siguiente manera:

Cree el montón de descriptores para los recursos. La variable <code>m\_rtvDescriptorSize</code> almacena el tamaño del incremento del identificador de descriptor de la vista de destino de representación y se usa en la sección **Create frame resources** del código.

```cpp theme={null}
// Create descriptor heaps.
{
// Describe and create a render target view (RTV) descriptor heap.
D3D12_DESCRIPTOR_HEAP_DESC rtvHeapDesc = {};
rtvHeapDesc.NumDescriptors = FrameCount;
rtvHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_RTV;
rtvHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;
ThrowIfFailed(m_device->CreateDescriptorHeap(&rtvHeapDesc, IID_PPV_ARGS(&m_rtvHeap)));

// Describe and create a depth stencil view (DSV) descriptor heap.
D3D12_DESCRIPTOR_HEAP_DESC dsvHeapDesc = {};
dsvHeapDesc.NumDescriptors = 1;
dsvHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_DSV;
dsvHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;
ThrowIfFailed(m_device->CreateDescriptorHeap(&dsvHeapDesc, IID_PPV_ARGS(&m_dsvHeap)));

// Describe and create a constant buffer view (CBV) descriptor heap.
D3D12_DESCRIPTOR_HEAP_DESC cbvHeapDesc = {};
cbvHeapDesc.NumDescriptors = CbvCountPerFrame * FrameCount;
cbvHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV;
cbvHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE;
ThrowIfFailed(m_device->CreateDescriptorHeap(&cbvHeapDesc, IID_PPV_ARGS(&m_cbvHeap)));

// Describe and create a heap for occlusion queries.
D3D12_QUERY_HEAP_DESC queryHeapDesc = {};
queryHeapDesc.Count = 1;
queryHeapDesc.Type = D3D12_QUERY_HEAP_TYPE_OCCLUSION;
ThrowIfFailed(m_device->CreateQueryHeap(&queryHeapDesc, IID_PPV_ARGS(&m_queryHeap)));

m_rtvDescriptorSize = m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_RTV);
m_cbvSrvDescriptorSize = m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);
}

// Create frame resources.
{
CD3DX12_CPU_DESCRIPTOR_HANDLE rtvHandle(m_rtvHeap->GetCPUDescriptorHandleForHeapStart());

// Create a RTV and a command allocator for each frame.
for (UINT n = 0; n < FrameCount; n++)
{
ThrowIfFailed(m_swapChain->GetBuffer(n, IID_PPV_ARGS(&m_renderTargets[n])));
m_device->CreateRenderTargetView(m_renderTargets[n].Get(), nullptr, rtvHandle);
rtvHandle.Offset(1, m_rtvDescriptorSize);

ThrowIfFailed(m_device->CreateCommandAllocator(D3D12_COMMAND_LIST_TYPE_DIRECT, IID_PPV_ARGS(&m_commandAllocators[n])));
}
}

```

Consulte el [código de ejemplo en la referencia de D3D12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/notes-on-example-code).

<div class="code" />

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

[ID3D12Device](/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [D3D12_CPU_DESCRIPTOR_HANDLE](/es/reference/graphics/d3d12/structs/d3d12_cpu_descriptor_handle_public.md)
- [D3D12_GPU_DESCRIPTOR_HANDLE](/es/reference/graphics/d3d12/structs/d3d12_gpu_descriptor_handle_public.md)
- [D3D12_DESCRIPTOR_HEAP_TYPE](/es/reference/graphics/d3d12/enums/d3d12_descriptor_heap_type_public.md)
- [GetCPUDescriptorHandleForHeapStart](/es/reference/graphics/d3d12/interfaces/id3d12descriptorheap/methods/id3d12descriptorheap_getcpudescriptorhandleforheapstart_public.md)
- [GetGPUDescriptorHandleForHeapStart](/es/reference/graphics/d3d12/interfaces/id3d12descriptorheap/methods/id3d12descriptorheap_getgpudescriptorhandleforheapstart_public.md)
