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

# XMEM_SET_ALLOCATION_HOOKS

> XMEM_SET_ALLOCATION_HOOKS

# XMEM\_SET\_ALLOCATION\_HOOKS

타이틀에서 메모리 할당 후크를 등록하는 데 사용됩니다.

## 구문

```cpp theme={null}
#define XMEM_SET_ALLOCATION_HOOKS(AllocRoutine, FreeRoutine) \
    __declspec(dllexport) XMEM_ALLOCATION_HOOKS __XMemAllocationHooks__ = { AllocRoutine, FreeRoutine };
```

### 매개 변수

*AllocRoutine*   *In*

형식: PXMEMALLOC\_ROUTINE

타이틀의 할당 함수에 대한 포인터입니다. 이 함수의 정의는 [XMEMALLOC\_ROUTINE](/ko/reference/system/xmem/functions/xmemalloc_routine.md) 항목을 참조하세요.

*FreeRoutine*   *In*\
형식: PXMEMFREE\_ROUTINE

타이틀의 할당 해제 함수에 대한 포인터입니다. 이 함수의 정의는 [XMEMFREE\_ROUTINE](/ko/reference/system/xmem/functions/xmemalloc_routine.md) 항목을 참조하세요.

## 설명

할당은 **XMEM\_SET\_ALLOCATION\_HOOKS** 매크로를 통해 타이틀에서 제공되는 콜백을 통해 모니터링(또는 재정의)할 수 있습니다. 이 매크로를 적절하게 사용하면 타이틀은 타이틀 코드와 플랫폼 코드에서 이루어진 모든 할당을 추적할 수 있습니다.

타이틀이 자체 할당 후크를 제공하지 않기로 선택한 경우 **XMemAllocDefault** 및 **XMemFreeDefault**가 대신 사용됩니다(이러한 후크의 선언은 xmem.h를 참조하세요). 타이틀이 추적을 위해 할당 후크를 제공하려고 하지만 자체 할당자를 구현하지 않으려는 경우 기본 할당자를 직접 호출할 수 있습니다.

[XMEMALLOC\_ROUTINE](/ko/reference/system/xmem/functions/xmemalloc_routine.md) 및 [XMEMFREE\_ROUTINE](/ko/reference/system/xmem/functions/xmemfree_routine.md)을 후크하는 경우 두 가지 모두에 대한 구현을 제공하는 것이 중요합니다. 그 중 하나만 후크하는 것은 오류로 간주됩니다.

타이틀에서 제공하는 후크는 게임 실행 파일에서 내보내지고 xmem.dll의 로드 시간(일반적으로 게임이 시작되는 시간)에 바인딩됩니다.

> [!NOTE]
>
> XMemSetAllocationHooks로 등록된 함수는 게임 exe 내에 정의되어야 해당 주소가 정적으로 채워지도록 보장됩니다. 제공된 함수 포인터가 게임 exe에서 참조되는 DLL의 함수를 참조하는 경우, 컴파일러는 플랫폼이 재정의 후크를 쿼리한 후에 실행될 수 있는 정적 초기화 코드를 발행해야 하므로 예측할 수 없는 동작이 발생합니다. 플랫폼에서 이 상황이 발생했을 수 있음을 감지하면 디버거 출력 창에 경고가 나타납니다.

## 요구 사항

**헤더:** xmem.h

**지원 플랫폼:** XBOX One 제품군 콘솔 및 XBOX Series 콘솔

## 함께 보기

[XMem 참조](/ko/reference/system/xmem/xmem_members.md)\
[XMEM\_ALLOCATION\_HOOKS](/ko/reference/system/xmem/structs/xmem_allocation_hooks.md)\
[XMEMALLOC\_ROUTINE](/ko/reference/system/xmem/functions/xmemalloc_routine.md)\
[XMEMFREE\_ROUTINE](/ko/reference/system/xmem/functions/xmemalloc_routine.md)


## Related topics

- [XMEM_ALLOCATION_HOOKS](/reference/system/xmem/structs/xmem_allocation_hooks.md)
- [XMemFreeDefault](/reference/system/xmem/functions/xmemfreedefault.md)
