ResetWriteWatch 함수(memoryapi.h)

가상 메모리 영역에 대한 쓰기 추적 상태를 다시 설정합니다. GetWriteWatch 함수에 대한 후속 호출은 다시 설정 작업 이후 작성된 보고서 페이지만 보고합니다.

Itanium 기반 시스템의 64비트 Windows: 페이지 크기의 차이로 인해 ResetWriteWatch 는 32비트 애플리케이션에서 지원되지 않습니다.

구문

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

매개 변수

[in] lpBaseAddress

쓰기 추적 상태를 다시 설정할 메모리 영역의 기본 주소에 대한 포인터입니다.

이 주소는 MEM_WRITE_WATCHVirtualAlloc 함수에 의해 할당된 메모리 영역에 있어야 합니다.

[in] dwRegionSize

쓰기 추적 정보를 다시 설정할 메모리 영역의 크기(바이트)입니다.

반환 값

함수가 성공하면 반환 값은 0입니다.

함수가 실패하면 반환 값은 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 포함)
라이브러리 onecore.lib
DLL Kernel32.dll

참고 항목

GetWriteWatch

메모리 관리 함수

VirtualAlloc