ResetWriteWatch 函式 (memoryapi.h)
重設虛擬記憶體區域的寫入追蹤狀態。 後續呼叫 GetWriteWatch 函式只會報告自重設作業以來寫入的報表頁面。
以 Itanium 為基礎的系統上的 64 位 Windows:由於頁面大小的差異,32 位應用程式不支援 ResetWriteWatch。
語法
UINT ResetWriteWatch(
[in] LPVOID lpBaseAddress,
[in] SIZE_T dwRegionSize
);
參數
[in] lpBaseAddress
要重設寫入追蹤狀態之內存區域的基位址指標。
此位址必須位於具有 MEM_WRITE_WATCH的 virtualAlloc VirtualAlloc 函式所配置的記憶體區域中。
[in] dwRegionSize
要重設寫入追蹤資訊的記憶體區域大小,以位元組為單位。
傳回值
如果函式成功,則傳回值為 0 (零)。
如果函式失敗,傳回值是非零值。
言論
ResetWriteWatch 函式對垃圾收集行程之類的應用程式很有用。 應用程式會呼叫 GetWriteWatch 函式來擷取寫入的頁面清單,然後將這些頁面寫入為清除作業的一部分。 然後,垃圾收集行程會呼叫 ResetWriteWatch,以移除清除所造成的寫入追蹤記錄。
您也可以在呼叫 getWriteWatch 時指定 WRITE_WATCH_FLAG_RESET,以重設記憶體區域的寫入追蹤狀態。
如果您使用 resetWriteWatch ,您必須確定 GetWriteWatch 與 ResetWriteWatch 呼叫間隔期間,不會寫入區域。 否則,可能會有未偵測到的寫入頁面。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
支援的最低伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平臺 | 窗戶 |
標頭 | memoryapi.h (包括 Windows.h、Memoryapi.h) |
連結庫 | onecore.lib |
DLL | Kernel32.dll |