resetWriteWatch 函数 (memoryapi.h)

重置虚拟内存区域的写入跟踪状态。 对 GetWriteWatch 函数的后续调用仅报告自重置操作以来写入的页。

基于 Itanium 的系统上的 64 位 Windows: 由于页面大小不同,32 位应用程序不支持 ResetWriteWatch

语法

UINT ResetWriteWatch(
  [in] LPVOID lpBaseAddress,
  [in] SIZE_T dwRegionSize
);

parameters

[in] lpBaseAddress

指向要为其重置写入跟踪状态的内存区域的基址的指针。

此地址必须位于由 VirtualAlloc 函数分配MEM_WRITE_WATCH的内存区域中。

[in] dwRegionSize

要为其重置写入跟踪信息的内存区域的大小(以字节为单位)。

返回值

如果函数成功,则返回值为 0 (零) 。

如果函数失败,则返回值为非零值。

注解

ResetWriteWatch 函数可用于垃圾回收器等应用程序。 应用程序调用 GetWriteWatch 函数来检索写入页的列表,然后在清理操作过程中写入这些页面。 然后,垃圾回收器调用 ResetWriteWatch 以删除由清理导致的写入跟踪记录。

调用 GetWriteWatch 时,还可以通过指定WRITE_WATCH_FLAG_RESET来重置内存区域的写入跟踪状态。

如果使用 ResetWriteWatch,必须确保在 GetWriteWatch 和 ResetWriteWatch 调用之间的时间间隔内没有线程写入区域。 否则,可能会有未检测到的写入页面。

要求

   
最低受支持的客户端 Windows XP [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 memoryapi.h (包括 Windows.h、Memoryapi.h)
Library onecore.lib
DLL Kernel32.dll

另请参阅

GetWriteWatch

内存管理函数

VirtualAlloc