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

# ID3D12QueryHeap

> Gerencia um heap de consultas. Um heap de consultas contém uma matriz de consultas, referenciadas por índices.

Gerencia um heap de consultas. Um heap de consultas contém uma matriz de consultas, referenciadas por índices.

## Comentários

Para obter mais informações, consulte [Consultas](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/queries).

#### Exemplos

O exemplo [D3D12PredicationQueries](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/working-samples) usa **ID3D12QueryHeap** da seguinte maneira:

Crie um heap de consultas e um buffer de resultados de consulta.

```cpp theme={null}
// Pipeline objects.
D3D12_VIEWPORT m_viewport;
D3D12_RECT m_scissorRect;
ComPtr<IDXGISwapChain3> m_swapChain;
ComPtr<ID3D12Device> m_device;
ComPtr<ID3D12Resource> m_renderTargets[FrameCount];
ComPtr<ID3D12CommandAllocator> m_commandAllocators[FrameCount];
ComPtr<ID3D12CommandQueue> m_commandQueue;
ComPtr<ID3D12RootSignature> m_rootSignature;
ComPtr<ID3D12DescriptorHeap> m_rtvHeap;
ComPtr<ID3D12DescriptorHeap> m_cbvHeap;
ComPtr<ID3D12DescriptorHeap> m_dsvHeap;
ComPtr<ID3D12QueryHeap> m_queryHeap;
UINT m_rtvDescriptorSize;
UINT m_cbvSrvDescriptorSize;
UINT m_frameIndex;

// Synchronization objects.
ComPtr<ID3D12Fence> m_fence;
UINT64 m_fenceValues[FrameCount];
HANDLE m_fenceEvent;

// Asset objects.
ComPtr<ID3D12PipelineState> m_pipelineState;
ComPtr<ID3D12PipelineState> m_queryState;
ComPtr<ID3D12GraphicsCommandList> m_commandList;
ComPtr<ID3D12Resource> m_vertexBuffer;
ComPtr<ID3D12Resource> m_constantBuffer;
ComPtr<ID3D12Resource> m_depthStencil;
ComPtr<ID3D12Resource> m_queryResult;
D3D12_VERTEX_BUFFER_VIEW m_vertexBufferView;

```

```cpp theme={null}
// 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)));

```

Consulte o [Código de exemplo na referência do D3D12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/notes-on-example-code).

<div class="code" />

## Requisitos

**Cabeçalho:** d3d12\_xs.h ou d3d12\_x.h\
**Biblioteca:** d3d12\_xs.lib ou d3d12\_x.lib\
**Plataformas com suporte**: consoles XBOX Series e família XBOX One

## Confira também

[Interfaces principais](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-interfaces)

[ID3D12Pageable](/pt-BR/reference/graphics/d3d12/interfaces/id3d12pageable/id3d12pageable_public)


## Related topics

- [EndQuery](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_endquery_public.md)
- [BeginQuery](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_beginquery_public.md)
- [D3D12_QUERY_HEAP_DESC](/pt-BR/reference/graphics/d3d12/structs/d3d12_query_heap_desc_public.md)
- [D3D12_QUERY_DATA_PIPELINE_STATISTICS](/pt-BR/reference/graphics/d3d12/structs/d3d12_query_data_pipeline_statistics_public.md)
- [D3D12_QUERY_DATA_SO_STATISTICS](/pt-BR/reference/graphics/d3d12/structs/d3d12_query_data_so_statistics_public.md)
