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 |