XMEM_SET_ALLOCATION_HOOKS
タイトルがメモリ割り当てフックを登録するために使用します。Syntax
Parameters
AllocRoutine In 型: PXMEMALLOC_ROUTINE タイトルの割り当て関数へのポインター。この関数の定義については、XMEMALLOC_ROUTINE のトピックを参照してください。 FreeRoutine In型: PXMEMFREE_ROUTINE タイトルの割り当て解除関数へのポインター。この関数の定義については、XMEMFREE_ROUTINE のトピックを参照してください。
Remarks
割り当ては、XMEM_SET_ALLOCATION_HOOKS マクロを通じてタイトルが提供するコールバックで監視 (またはオーバーライド) できます。このマクロを適切に使用することで、タイトルはタイトル コードから行われるすべての割り当てだけでなく、プラットフォーム コードからの割り当ても追跡できます。 タイトルが独自の割り当てフックを提供しないことを選択した場合は、代わりに XMemAllocDefault と XMemFreeDefault が使用されます (これらのフックの宣言については xmem.h を参照してください)。トラッキングのために割り当てフックを提供したいが、独自のアロケーターを実装したくない場合は、既定のアロケーターを直接呼び出すことができます。 XMEMALLOC_ROUTINE と XMEMFREE_ROUTINE の両方をフックする場合は、両方の実装を提供することが重要です。一方だけをフックすることはエラーとみなされます。 タイトルが提供するフックはゲーム実行可能ファイルからエクスポートされ、xmem.dll のロード時 (通常はゲームが起動される時) にバインドされます。XMemSetAllocationHooks によって登録される関数は、アドレスが静的に設定されることを保証するために、ゲーム exe 内で定義する必要があります。指定される関数ポインターがゲーム exe から参照される DLL 内の関数を参照している場合、コンパイラはメモリを設定するための静的初期化子コードを出力する必要があります。このコードはプラットフォームがオーバーライド フックをクエリした後に実行される可能性があり、予測できない動作を引き起こします。プラットフォームがこのことが発生した可能性があると検出した場合、デバッガー出力ウィンドウに警告が表示されます。
Requirements
ヘッダー: xmem.h サポートされているプラットフォーム: XBOX One ファミリー本体および XBOX Series 本体See also
XMem referenceXMEM_ALLOCATION_HOOKS
XMEMALLOC_ROUTINE
XMEMFREE_ROUTINE
