PSS_ALLOCATOR構造体 (processsnapshot.h)

プロセス スナップショット関数が内部ウォーク マーカー構造の割り当てと解放に使用するカスタム関数を指定します。

構文

typedef struct {
  void  *Context;
  void  )(void *Context,DWORD Size)  *(*AllocRoutine;
  void((void *Context, void *Address) * )FreeRoutine;
} PSS_ALLOCATOR;

メンバー

Context

プロセス スナップショット関数が AllocRoutine および FreeRoutine に渡す任意のポインター サイズの値。

AllocRoutine

2 つのパラメーターを受け取る WINAPI 呼び出し規約関数へのポインター。 割り当てるメモリ ブロックへのポインターを返します。割り当てが失敗した場合は NULL を 返します。

Context

PSS_ALLOCATORで渡されるコンテキスト値。

サイズ

割り当てるバイト数。

FreeRoutine

2 つのパラメーターを受け取る WINAPI 呼び出し規約関数へのポインター。 AllocRoutine によって割り当てられたメモリ ブロックの割り当てが解除されます。

Context

PSS_ALLOCATORで渡されるコンテキスト値。

Address

AllocRoutine によって割り当てられたメモリ ブロックのアドレス。

解説

カスタム メモリ割り当て関数を使用するには、この構造体を PssWalkMarkerCreate に渡します。 それ以外の場合、プロセス スナップショット処理関数は既定のプロセス ヒープを使用します。

カスタム関数を提供する PSS_ALLOCATOR 構造体は、 PssWalkMarkerCreate によって作成されるウォーク マーカーの有効期間にわたって有効なままである必要があります。

FreeRoutine は、失敗することなく NULL アドレス パラメーター 受け入れる必要があります。

カスタム関数は、PssWalkMarkerCreatePssWalkMarkerFreePssWalkSnapshot から、PssWalkMarkerCreate、PssWalkMarkerFreePssWalkSnapshot を呼び出すのと同じスレッドを使用して呼び出されます。 そのため、カスタム関数はマルチスレッドである必要はありません。

要件

   
サポートされている最小のクライアント Windows 8.1 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 R2 [デスクトップ アプリのみ]
Header processsnapshot.h

関連項目

スナップショット処理の処理