Skip to main content

XMEM_SET_ALLOCATION_HOOKS

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

구문

매개 변수

AllocRoutine In 형식: PXMEMALLOC_ROUTINE 타이틀의 할당 함수에 대한 포인터입니다. 이 함수의 정의는 XMEMALLOC_ROUTINE 항목을 참조하세요. FreeRoutine In
형식: PXMEMFREE_ROUTINE
타이틀의 할당 해제 함수에 대한 포인터입니다. 이 함수의 정의는 XMEMFREE_ROUTINE 항목을 참조하세요.

설명

할당은 XMEM_SET_ALLOCATION_HOOKS 매크로를 통해 타이틀에서 제공되는 콜백을 통해 모니터링(또는 재정의)할 수 있습니다. 이 매크로를 적절하게 사용하면 타이틀은 타이틀 코드와 플랫폼 코드에서 이루어진 모든 할당을 추적할 수 있습니다. 타이틀이 자체 할당 후크를 제공하지 않기로 선택한 경우 XMemAllocDefault 및 XMemFreeDefault가 대신 사용됩니다(이러한 후크의 선언은 xmem.h를 참조하세요). 타이틀이 추적을 위해 할당 후크를 제공하려고 하지만 자체 할당자를 구현하지 않으려는 경우 기본 할당자를 직접 호출할 수 있습니다. XMEMALLOC_ROUTINE 및 XMEMFREE_ROUTINE을 후크하는 경우 두 가지 모두에 대한 구현을 제공하는 것이 중요합니다. 그 중 하나만 후크하는 것은 오류로 간주됩니다. 타이틀에서 제공하는 후크는 게임 실행 파일에서 내보내지고 xmem.dll의 로드 시간(일반적으로 게임이 시작되는 시간)에 바인딩됩니다.
XMemSetAllocationHooks로 등록된 함수는 게임 exe 내에 정의되어야 해당 주소가 정적으로 채워지도록 보장됩니다. 제공된 함수 포인터가 게임 exe에서 참조되는 DLL의 함수를 참조하는 경우, 컴파일러는 플랫폼이 재정의 후크를 쿼리한 후에 실행될 수 있는 정적 초기화 코드를 발행해야 하므로 예측할 수 없는 동작이 발생합니다. 플랫폼에서 이 상황이 발생했을 수 있음을 감지하면 디버거 출력 창에 경고가 나타납니다.

요구 사항

헤더: xmem.h 지원 플랫폼: XBOX One 제품군 콘솔 및 XBOX Series 콘솔

함께 보기

XMem 참조
XMEM_ALLOCATION_HOOKS
XMEMALLOC_ROUTINE
XMEMFREE_ROUTINE
Last modified on October 19, 2026