Groups | Search | Server Info | Login | Register


Groups > de.comp.lang.delphi.misc > #19156

check Summe ermitteln klappt nicht

From Jens Kallup <kallup.jens@web.de>
Newsgroups de.comp.lang.delphi.misc
Subject check Summe ermitteln klappt nicht
Date 2021-12-27 14:05 +0100
Organization kallup.net - non-profit
Message-ID <j2ts05Fokj7U1@mid.individual.net> (permalink)

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

Hallo,

leider stürtzt das Programm in der unten aufgeführten Funktion
immer ab - bei @checksum in der ShowMessage.
Dort möchte ich gerne eine CheckSum anzeigen.
Danke für Tipps.
Jens

function ComputePEChecksum(FileName: string): DWORD;
var
   h, hMap: Cardinal;
   pMem: Pointer;
   headersum, fsizehigh, fileSizeLow: DWORD;
   checksum: PDWORD;
   nth: PImageNtHeaders;
   p: Pointer;
   s: String;
Label
   cleanup;
begin
   pMem := nil;

   Result := 0;

   headersum := 0;
   checksum  := nil;

   h := Windows.CreateFile(PChar(FileName), GENERIC_READ, FILE_SHARE_READ,
   nil, OPEN_EXISTING, 0, 0);
   if (h = INVALID_HANDLE_VALUE) then
   begin
     ShowMessage('internal error.');
     Windows.ExitProcess(1);
   end;

   fileSizeLow := Windows.GetFileSize(h, @fsizehigh);

   hMap := Windows.CreateFileMapping(h, nil, PAGE_READONLY, fsizeHigh, 
fileSizeLow, nil);
   if (hMap = 0) then
   goto cleanup;

   pMem := Windows.MapViewOfFile(hMap, FILE_MAP_READ, 0, 0, 0);
   if (pMem = nil) then
   goto cleanup;

   nth := CheckSumMappedFile(pMem, fileSizeLow, @headersum, @checksum);

   if (nth = nil) then
   checksum := nil;

   showmessage(
   'size res: ' + IntToStr(fileSizeLow) + #13 +
   'size arg: ' + IntToStr(fsizeHigh  ) + #13#13 +
   'checksum: ' + PChar(checksum^));

   cleanup:
   if (pMem <> nil) then
   Windows.UnmapViewOfFile(pMem);
   if (hMap <> 0) then
   Windows.CloseHandle(hMap);
   if (h <> 0) then
   Windows.CloseHandle(h);

   Result := checksum^;
end;

Back to de.comp.lang.delphi.misc | Previous | NextNext in thread | Find similar


Thread

check Summe ermitteln klappt nicht Jens Kallup <kallup.jens@web.de> - 2021-12-27 14:05 +0100
  Re: check Summe ermitteln klappt nicht Andreas Niggemann <andy-nospam@smss.de> - 2021-12-28 09:31 +0100
    Re: check Summe ermitteln klappt nicht Holger Schieferdecker <spamless@gmx.de> - 2022-01-10 11:13 +0100
  Stilfrage Aufräumarbeiten (was: check Summe ermitteln klappt nicht) Holger Schieferdecker <spamless@gmx.de> - 2022-01-10 11:03 +0100
    Re: Stilfrage Aufräumarbeiten (was: check Summe ermitteln klappt nicht) Jens Kallup <kallup.jens@web.de> - 2022-01-10 13:22 +0100
      Re: Stilfrage Aufräumarbeiten Holger Schieferdecker <spamless@gmx.de> - 2022-01-10 13:40 +0100
        Re: Stilfrage Aufräumarbeiten Jens Kallup <kallup.jens@web.de> - 2022-01-10 14:30 +0100

csiph-web