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

# XALLOC_ALLOCATOR_IDS

> XALLOC_ALLOCATOR_IDS

# XALLOC\_ALLOCATOR\_IDS

Defines the range for the set of IDs for different types of allocators used by memory allocation routines.

## Syntax

```cpp theme={null}
typedef enum _XALLOC_ALLOCATOR_IDS    
{  
    eXALLOCAllocatorId_GameMin = 0,  
    eXALLOCAllocatorId_GameMax = 127,  
    eXALLOCAllocatorId_PlatformReservedMin = 128,  
    eXALLOCAllocatorId_D3D = 128,  
    eXALLOCAllocatorId_Audio = 129,  
    eXALLOCAllocatorId_Video = 130,  
    eXALLOCAllocatorId_ApplicationClip = 131,  
    eXALLOCAllocatorId_SmartGlass = 132,  
    eXALLOCAllocatorId_Networking = 133,  
    eXALLOCAllocatorId_AppPlatform = 134,  
    eXALLOCAllocatorId_Input = 135,  
    eXALLOCAllocatorId_ShellAPI = 136,  
    eXALLOCAllocatorId_MultimediaControl = 137,  
    eXALLOCAllocatorId_COM = 138,  
    eXALLOCAllocatorId_CpuProfilers = 139,  
    eXALLOCAllocatorId_WinRT = 140,  
    eXALLOCAllocatorId_RPC = 141,  
    eXALLOCAllocatorId_PIX = 142,  
    eXALLOCAllocatorId_XMem = 143,  
    eXALLOCAllocatorId_PlatformReservedMax = 191,  
    eXALLOCAllocatorId_MiddlewareReservedMin = 192,  
    eXALLOCAllocatorId_MiddlewareReservedMax = 255  
} XALLOC_ALLOCATOR_IDS  
```

## Constants

| Constant                                  | Description                                                             |
| ----------------------------------------- | ----------------------------------------------------------------------- |
| eXALLOCAllocatorId\_GameMin               | Start of the range of allocator IDs available to titles for allocation. |
| eXALLOCAllocatorId\_GameMax               | End of the range of allocator IDs available to titles for allocation.   |
| eXALLOCAllocatorId\_PlatformReservedMin   | Start of the range of allocator IDs used by the system.                 |
| eXALLOCAllocatorId\_D3D                   | Allocator ID for Direct 3D.                                             |
| eXALLOCAllocatorId\_Audio                 | Allocator ID for audio.                                                 |
| eXALLOCAllocatorId\_Video                 | Allocator ID for video.                                                 |
| eXALLOCAllocatorId\_ApplicationClip       | Allocator ID for application clips.                                     |
| eXALLOCAllocatorId\_SmartGlass            | Allocator ID for SmartGlass.                                            |
| eXALLOCAllocatorId\_Networking            | Allocator ID for networking.                                            |
| eXALLOCAllocatorId\_AppPlatform           | Allocator ID for application platform.                                  |
| eXALLOCAllocatorId\_Input                 | Allocator ID for input.                                                 |
| eXALLOCAllocatorId\_ShellAPI              | Allocator ID for shell API.                                             |
| eXALLOCAllocatorId\_MultimediaControl     | Allocator ID for multimedia control.                                    |
| eXALLOCAllocatorId\_COM                   | Allocator ID for COM.                                                   |
| eXALLOCAllocatorId\_CpuProfilers          | Allocator ID for CPU profilers.                                         |
| eXALLOCAllocatorId\_WinRT                 | Allocator ID for WinRT.                                                 |
| eXALLOCAllocatorId\_RPC                   | Allocator ID for RPC.                                                   |
| eXALLOCAllocatorId\_PIX                   | Allocator ID for PIX.                                                   |
| eXALLOCAllocatorId\_XMem                  | Allocator ID for XMem.                                                  |
| eXALLOCAllocatorId\_PlatformReservedMax   | End of the range of allocator IDs used by the system.                   |
| eXALLOCAllocatorId\_MiddlewareReservedMin | Start of the range of allocator IDs reserved for middleware.            |
| eXALLOCAllocatorId\_MiddlewareReservedMax | End of the range of allocator IDs reserved for middleware.              |

## Remarks

The **XALLOC\_ALLOCATOR\_IDS** constants are used by the *AllocatorId* member of the [XALLOC\_ATTRIBUTES](/reference/system/xmem/structs/xalloc_attributes) union. Each allocation is associated with an allocator ID, which identifies the subsystem which is requesting the allocation (or free). There are three potential sources of allocations; Title (game), Platform (OS), and Middleware components.

Title developers should feel free to use any of the values in the range **eXALLOCAllocatorId\_GameMin** to **eXALLOCAllocatorId\_GameMax** to identify which of their subsystems are performing allocations.

If you are a middleware vendor and would like to reserve an allocator ID, please contact your developer account manager.

## Requirements

**Header:** xmem.h

**Supported platforms:** XBOX One family consoles and XBOX Series consoles

## See also

[XMem reference](/reference/system/xmem/xmem_members)\
[XALLOC\_ATTRIBUTES](/reference/system/xmem/structs/xalloc_attributes)\
[XMEMALLOC\_ROUTINE](/reference/system/xmem/functions/xmemalloc_routine)\
[XMEMFREE\_ROUTINE](/reference/system/xmem/functions/xmemfree_routine)


## Related topics

- [XMemFreeDefault](/reference/system/xmem/functions/xmemfreedefault.md)
- [XDspConnect](/reference/audio/xdspaudio/functions/xdspconnect.md)
- [XDspConnectWithMaximumStreamLimit](/reference/audio/xdspaudio/functions/xdspconnectwithmaximumstreamlimit.md)
- [Wrapper sample](/services/playfab/multiplayer/servers/wrapper-sample.md)
- [CreateCommandAllocator](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommandallocator_public.md)
