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

# 메모리 후킹

> PFInitialize 이전에 PFMemSetFunctions로 사용자 지정 alloc 및 free 후크를 설치하여 PlayFab Services SDK의 메모리 할당을 제어합니다.

# 메모리 할당 관리

PlayFab Services SDK의 C API를 사용하면, SDK가 메모리를 할당하려고 할 때마다 SDK가 호출하는 함수 콜백을 지정할 수 있습니다. 함수 콜백을 지정하지 않으면 SDK는 표준 메모리 할당 루틴을 사용합니다.

메모리 루틴을 수동으로 지정하려면 다음 단계를 수행할 수 있습니다:

* 게임 시작 시:
  * [**PFMemSetFunctions**](/services/playfab/api-references/c/pfplatform/functions/pfmemsetfunctions)를 호출하여 메모리 할당 및 해제를 위한 콜백을 지정합니다.
  * [**PFInitialize**](/services/playfab/api-references/c/pfcore/functions/pfinitialize)를 호출하여 PlayFab Core 라이브러리를 초기화합니다.
  * [**PFServicesInitialize**](/services/playfab/api-references/c/pfservices/functions/pfservicesinitialize)를 호출하여 PlayFab Services 라이브러리를 초기화합니다.

<Info>
  순서가 중요합니다. **PFMemSetFunctions**는 **PFInitialize** 전에 와야 하며, **PFInitialize**는 **PFServicesInitialize** 전에 와야 합니다. 명시적 **PFInitialize** 호출을 건너뛰면 **PFServicesInitialize**가 내부적으로 Core를 초기화하지만, 이 시점에서는 메모리 후크가 아직 적용되지 않아 SDK는 대신 기본 할당 루틴을 사용합니다.
</Info>

```cpp theme={null}
    PFMemoryHooks playFabHooks{ MyAllocHook, MyFreeHook };
    PFMemSetFunctions(&playFabHooks);
    HRESULT hr = PFInitialize(nullptr); // Add your own error handling when FAILED(hr) == true
    hr = PFServicesInitialize(nullptr); // Add your own error handling when FAILED(hr) == true
```

* 게임 실행 중:
  * 메모리를 할당하거나 해제하는 SDK 호출은 지정된 메모리 처리 콜백을 호출합니다.

* 게임 종료 시:
  * [**PFServicesUninitializeAsync**](/services/playfab/api-references/c/pfservices/functions/pfservicesuninitializeasync)를 호출하여 PlayFab Services와 관련된 모든 리소스를 회수합니다.
  * [**PFUninitializeAsync**](/services/playfab/api-references/c/pfcore/functions/pfuninitializeasync)를 호출하여 PlayFab Core와 관련된 모든 리소스를 회수합니다.
  * 게임의 사용자 지정 메모리 관리자를 정리합니다.

## 참조

[API 참조 문서](/services/playfab/api-references/c/pfplatform/pfplatform_members)


## Related topics

- [코어 간 메모리 비용](/ko/build/console-features/memory/Cross-Core-Memory-Costs.md)
- [Social Manager 메모리 및 성능](/ko/services/xbox-services/community/social-manager/concepts/live-socmgr-mem-perf.md)
- [XBOX GDK 타이틀을 위한 메모리 시스템](/ko/build/console-features/memory/index.md)
- [PlayFab Unified SDK에서 메모리 관리](/ko/services/playfab/sdks/unified-sdk/memory-management.md)
- [Microsoft GDK Game OS 메모리 관리자 사용](/ko/build/console-features/memory/system-memory-working.md)
