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

# SetAllocatorCallbackX (família XBOX One)

> Define uma função de retorno de chamada de alocação para o alocador de comandos.

Define uma função de retorno de chamada de alocação para o alocador de comandos.

## Sintaxe

```cpp theme={null}
void SetAllocatorCallbackX(  
         D3D12XBOX_COMMAND_ALLOCATOR_CALLBACK pCallback,  
         UINT64 Context  
)  
```

### Parâmetros

*pCallback*   \_In\_\
Tipo: D3D12XBOX\_COMMAND\_ALLOCATOR\_CALLBACK

Um ponteiro para uma definição de **D3D12XBOX\_COMMAND\_ALLOCATOR\_CALLBACK**. Observe que D3D12XBOX\_COMMAND\_ALLOCATOR\_CALLBACK é definido como:

```cpp theme={null}
typedef void* (*D3D12XBOX_COMMAND_ALLOCATOR_CALLBACK)(
        ID3D12CommandAllocator* pCommandAllocator,
        ID3D12CommandList* pCommandList,
        UINT XMemAllocType,
        SIZE_T SizeInBytes,
        UINT AlignmentInBytes,
        UINT Flags,
        UINT64 Context); 
```

*Context*   \_In\_\
Tipo: UINT64

Um valor definido pelo usuário que é passado para o retorno de chamada.

### Valor retornado

Tipo: void

## Comentários

Você pode criar uma função de retorno de chamada definida pelo usuário para um alocador de comandos que trate todas as alocações de memória executadas pelo alocador. Quando um retorno de chamada é definido, é responsabilidade dele atender às solicitações de alocação de memória de acordo com o tamanho, o alinhamento e o tipo de memória [XALLOC\_ATTRIBUTES](https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/reference/system/xmem/structs/xalloc_attributes) fornecidos, e retornar as alocações ao runtime. O retorno de chamada deve controlar essas alocações e desalocá-las explicitamente quando não estiverem mais em uso.

Para obter mais informações sobre listas de comandos e alocadores de comandos, consulte [Criação e gravação de listas de comandos e pacotes](https://learn.microsoft.com/en-us/windows/win32/direct3d12/recording-command-lists-and-bundles#creating-command-lists).

<Note>
  Você não deve desalocar a memória antes de uma chamada a [Reset](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/nf-d3d12-id3d12commandallocator-reset) no alocador de comandos.
</Note>

## Requisitos

**Cabeçalho:** d3d12\_x.h

**Biblioteca:** d3d12\_x.lib

**Plataformas com suporte:** família XBOX One

## Confira também

[ID3D12CommandAllocator](/pt-BR/reference/graphics/d3d12_x/interfaces/ID3D12CommandAllocator/id3d12commandallocator)\
[CreateCommandAllocator](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12device-createcommandallocator)


## Related topics

- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [XALLOC_ALLOCATOR_IDS](/pt-BR/reference/system/xmem/enums/xalloc_allocator_ids.md)
- [CreateCommandAllocator](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommandallocator_public.md)
- [ID3D12CommandAllocator::Reset](/pt-BR/reference/graphics/d3d12/interfaces/id3d12commandallocator/methods/id3d12commandallocator_reset_public.md)
- [XErrorSetCallback](/pt-BR/reference/system/xerror/functions/xerrorsetcallback.md)
