Прочитать на английском

Поделиться через


Функция ResetWriteWatch (memoryapi.h)

Сбрасывает состояние отслеживания записи для области виртуальной памяти. Последующие вызовы функции GetWriteWatch передают только те страницы, на которые записываются после операции сброса.

64-разрядная версия Windows в системах на основе Itanium: Из-за разницы в размерах страниц ResetWriteWatch не поддерживается для 32-разрядных приложений.

Синтаксис

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

Параметры

[in] lpBaseAddress

Указатель на базовый адрес области памяти, для которой требуется сбросить состояние отслеживания записи.

Этот адрес должен находиться в области памяти, выделенной функцией VirtualAlloc с MEM_WRITE_WATCH.

[in] dwRegionSize

Размер области памяти, для которой сбрасываются данные отслеживания записи, в байтах.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение равно 0 (ноль).

Если функция завершается сбоем, возвращаемое значение будет ненулевым.

Комментарии

Функция ResetWriteWatch может быть полезна для таких приложений, как сборщик мусора. Приложение вызывает функцию GetWriteWatch для получения списка записанных страниц, а затем выполняет запись на эти страницы в рамках операции очистки. Затем сборщик мусора вызывает ResetWriteWatch , чтобы удалить записи отслеживания записи, вызванные очисткой.

Вы также можете сбросить состояние отслеживания записи в области памяти, указав WRITE_WATCH_FLAG_RESET при вызове GetWriteWatch.

При использовании ResetWriteWatch необходимо убедиться, что потоки не записываются в регион в течение интервала между вызовами GetWriteWatch и ResetWriteWatch . В противном случае могут быть записанные страницы, которые вы не обнаружите.

Требования

   
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header memoryapi.h (включая Windows.h, Memoryapi.h)
Библиотека onecore.lib
DLL Kernel32.dll

См. также

GetWriteWatch

Функции управления памятью

VirtualAlloc


Дополнительные ресурсы