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

# OpenExistingHeapFromAddress

> Cria um heap de diagnóstico para fins especiais na memória do sistema a partir de um endereço. O heap criado pode persistir mesmo no caso de uma falha de GPU ou de remoção do dispositivo.

Cria um heap de diagnóstico para fins especiais na memória do sistema a partir de um endereço. O heap criado pode persistir mesmo em um cenário de falha de GPU ou de remoção do dispositivo.

## Sintaxe

```cpp theme={null}
HRESULT OpenExistingHeapFromAddress(
    const void  pAddress,
    const IID & riid,
    void  ppvHeap
)
```

### Parâmetros

*pAddress \[in]*<br />Tipo: const void \*

O endereço usado para criar o heap.

*riid*<br />Tipo: const IID &

O identificador global exclusivo (**GUID**) da interface de heap ([ID3D12Heap](/pt-BR/reference/graphics/d3d12/interfaces/id3d12heap/id3d12heap_public)).

O **REFIID**, ou **GUID**, da interface para o heap pode ser obtido usando a macro **\_\_uuidof()**. Por exemplo, **\_\_uuidof(ID3D12Heap)** recuperará o **GUID** da interface para um heap.

*ppvHeap \[out]*<br />Tipo: void \*\*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015\&preserve-view=true): <code>*COM\_Outptr*</code>

Um ponteiro para um bloco de memória. Em caso de êxito, o runtime do D3D12 gravará no bloco de memória um ponteiro para o heap recém-aberto. O tipo do ponteiro depende do parâmetro **riid** fornecido.

### Valor retornado

Tipo: HRESULT

Este método retorna **E\_OUTOFMEMORY** se não houver memória suficiente para abrir o heap existente. Consulte [Códigos de retorno do Direct3D 12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12-graphics-reference-returnvalues) para outros valores retornados possíveis.

## Comentários

O heap é criado na memória do sistema e permite acesso da CPU. Ele encapsula toda a região de VirtualAlloc.

Os heaps podem ser usados para recursos posicionados e reservados, de forma tão ortogonal quanto outros heaps. Ainda podem existir restrições com base nos sinalizadores que não podem ser escolhidos pelo aplicativo.

## Requisitos

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

## Confira também

[Interface ID3D12Device3](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12device3/id3d12device3)


## Related topics

- [OpenExistingHeapFromFileMapping](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device3/methods/id3d12device3_openexistingheapfromfilemapping_public.md)
- [D3D12_FEATURE_DATA_EXISTING_HEAPS](/pt-BR/reference/graphics/d3d12/structs/d3d12_feature_data_existing_heaps_public.md)
- [OpenSharedHandle](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_opensharedhandle_public.md)
- [XMemCreateWin32Heap](/pt-BR/reference/system/xmem/functions/xmemcreatewin32heap.md)
- [Update Open Id Connection](/api-reference/authentication/update-open-id-connection.md)
