다음을 통해 공유


CheckSumMappedFile 함수(imagehlp.h)

지정된 이미지 파일의 체크섬을 계산합니다.

구문

PIMAGE_NT_HEADERS IMAGEAPI CheckSumMappedFile(
  [in]  PVOID  BaseAddress,
  [in]  DWORD  FileLength,
  [out] PDWORD HeaderSum,
  [out] PDWORD CheckSum
);

매개 변수

[in] BaseAddress

매핑된 파일의 기본 주소입니다. 이 값은 MapViewOfFile 함수를 호출하여 가져옵니다.

[in] FileLength

파일 크기(바이트)입니다.

[out] HeaderSum

이미지 파일에서 원래 체크섬을 수신하는 변수에 대한 포인터이거나 오류가 있는 경우 0입니다.

[out] CheckSum

계산된 체크섬을 수신하는 변수에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값은 매핑된 이미지에 포함된 IMAGE_NT_HEADERS 구조체에 대한 포인터입니다.

함수가 실패하면 반환 값은 NULL입니다. 확장된 오류 정보를 검색하려면 GetLastError를 호출합니다.

설명

CheckSumMappedFile 함수는 파일에 대한 새 체크섬을 계산하고 CheckSum 매개 변수에 반환합니다. 이 함수는 실행 파일 이미지를 만들거나 수정하는 모든 애플리케이션에서 사용됩니다. 커널 모드 드라이버 및 일부 시스템 DLL에는 체크섬이 필요합니다. 링커는 적절한 링커 스위치를 사용하는 경우 링크 타임에 원래 체크섬을 계산합니다. 자세한 내용은 링커 설명서를 참조하세요.

모든 이미지에는 유효한 체크섬이 있는 것이 좋습니다. 새로 계산된 체크섬을 매핑된 이미지에 배치하고 파일의 디스크 내 이미지를 업데이트하는 것은 호출자의 책임입니다.

이 함수와 같은 모든 ImageHlp 함수는 단일 스레드입니다. 따라서 둘 이상의 스레드에서 이 함수로 호출하면 예기치 않은 동작이나 메모리 손상이 발생할 수 있습니다. 이를 방지하려면 둘 이상의 스레드에서 이 함수로의 모든 동시 호출을 동기화해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 imagehlp.h
라이브러리 Imagehlp.lib
DLL Imagehlp.dll

추가 정보

IMAGE_NT_HEADERS

ImageHlp 함수

MapFileAndCheckSum

MapViewOfFile