WerRegisterMemoryBlock 함수(werapi.h)

WER(Windows 오류 보고)이 오류 보고서를 만들 때 수집할 메모리 블록을 등록합니다.

구문

HRESULT WerRegisterMemoryBlock(
  [in] PVOID pvAddress,
  [in] DWORD dwSize
);

매개 변수

[in] pvAddress

메모리 블록의 시작 주소입니다.

[in] dwSize

메모리 블록의 크기(바이트)입니다. 이 매개 변수의 최대값은 WER_MAX_MEM_BLOCK_SIZE 바이트입니다.

반환 값

이 함수는 성공 시 S_OK 반환하거나 다음 오류 코드를 포함하여 실패 시 오류 코드를 반환합니다.

반환 코드 설명
WER_E_INVALID_STATE 프로세스 상태가 잘못되었습니다. 예를 들어 프로세스는 애플리케이션 복구 모드에 있습니다.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) 등록된 메모리 블록 및 파일 수가 제한을 초과합니다.

설명

이 함수에 등록된 메모리는 힙 또는 더 큰 덤프 파일에만 추가됩니다. 이 메모리는 미니 덤프 또는 더 작은 덤프 파일에 추가되지 않습니다.

크래시 및 응답이 없는 경우 운영 체제는 자동으로 오류 보고를 제공합니다(애플리케이션에서 오류 보고 코드를 제공할 필요가 없음). 이 함수를 사용하여 메모리 블록을 등록하는 경우 운영 체제는 크래시 또는 비응답 시 덤프 파일에 메모리 블록 정보를 추가합니다. 메모리 블록은 서버에서 추가 데이터를 요청하는 경우에만 보고서의 덤프 파일에 추가됩니다.

제네릭 이벤트 보고의 경우 애플리케이션은 WER 제네릭 이벤트 보고 함수를 직접 호출해야 합니다. 메모리 블록을 제네릭 보고서에 추가하려면 WerReportAddDump 함수를 호출한 다음 WerReportSubmit 함수를 호출하고 WER_SUBMIT_ADD_REGISTERED_DATA 플래그를 지정합니다.

이 목록에서 블록을 제거하려면 WerUnregisterMemoryBlock 함수를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 werapi.h
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

WerUnregisterMemoryBlock, Windows 오류 보고