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 6, 2026