PSS_ALLOCATOR 结构 (processsnapshot.h)

指定进程快照函数用于分配和释放内部步行标记结构的自定义函数。

语法

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

成员

Context

进程快照函数传递给 AllocRoutineFreeRoutine 的任意指针大小值。

AllocRoutine

指向采用两个参数的 WINAPI 调用约定函数的指针。 它返回指向它分配的内存块的指针;如果分配失败,则返回 NULL

上下文

PSS_ALLOCATOR 中传递的上下文值。

大小

要分配的字节数。

FreeRoutine

指向采用两个参数的 WINAPI 调用约定函数的指针。 它解除分配 AllocRoutine 分配的内存块。

上下文

PSS_ALLOCATOR 中传递的上下文值。

地址

AllocRoutine 分配的内存块的地址。

注解

若要使用自定义内存分配函数,请将此结构传递给 PssWalkMarkerCreate。 否则,进程快照函数使用默认进程堆。

提供自定义函数 的PSS_ALLOCATOR 结构应在 PssWalkMarkerCreate 创建的步行标记的生存期内保持有效。

FreeRoutine 必须接受 NULL 地址参数,而不会失败。

使用调用 PssWalkMarkerCreate、PssWalkMarkerFreePssWalkSnapshot 的同一线程从 PssWalkMarkerCreate、PssWalkMarkerFreePssWalkSnapshot 调用自定义函数。 因此,自定义函数不需要是多线程的。

要求

   
最低受支持的客户端 Windows 8.1 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 R2 [仅限桌面应用]
标头 processsnapshot.h

请参阅

进程快照