ResetWriteWatch 函式 (memoryapi.h)

重設虛擬記憶體區域的寫入追蹤狀態。 後續呼叫 GetWriteWatch 函式時,只會對自重設作業以來寫入的報表頁面。

Itanium 系統上的 64 位 Windows: 由於頁面大小的差異,32 位應用程式不支援 ResetWriteWatch

語法

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

參數

[in] lpBaseAddress

要重設寫入追蹤狀態之記憶體區域的基底位址指標。

此位址必須位於 VirtualAlloc 函式所配置的記憶體區域中,且具有 MEM_WRITE_WATCH

[in] dwRegionSize

要重設寫入追蹤資訊的記憶體區域大小,以位元組為單位。

傳回值

如果函式成功,傳回值為 0 (零) 。

如果函式失敗,則傳回值是非零值。

備註

ResetWriteWatch函式對垃圾收集行程之類的應用程式很有用。 應用程式會呼叫 GetWriteWatch 函式來擷取已寫入的頁面清單,然後寫入這些頁面作為清除作業的一部分。 然後垃圾收集行程會呼叫 ResetWriteWatch ,以移除清除所造成的寫入追蹤記錄。

您也可以在呼叫GetWriteWatch時指定WRITE_WATCH_FLAG_RESET來重設記憶體區域的寫入追蹤狀態。

如果您使用 ResetWriteWatch,則必須確保 GetWriteWatchResetWriteWatch 呼叫之間的間隔期間,沒有任何執行緒寫入區域。 否則,可能會有未偵測到的寫入頁面。

需求

   
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 memoryapi.h (包括 Windows.h、Memoryapi.h)
程式庫 onecore.lib
DLL Kernel32.dll

另請參閱

GetWriteWatch

記憶體管理功能

VirtualAlloc