Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#17

Re: MemoryMapped Files unter Vista - keine Daten

  Alt 2. Jun 2007, 00:15
Ich weiß ich nerve Sehr seltsame Sache muss man sagen:

Delphi-Quellcode:
procedure WriteToMMF(Filename: PChar; Data: Pointer; Len: Integer);
var
  hFile: Cardinal;
  Mem: Pointer;
begin
  hFile := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, Len +1, Filename);
  if hFile <> 0 then
  begin
    Mem := MapViewOfFile(hFile, FILE_MAP_WRITE, 0, 0, 0);
    CopyMemory(Mem, Data, Len);
  end;
  //CloseHandle(hFile);
end;

function ReadFromMMF(Filename: PChar; Size: Integer): Pointer;
var
  hFile: Cardinal;
begin
  hFile := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, Size, Filename);
  if hFile <> 0 then
  begin
    Result := MapViewOfFile(hFile, FILE_MAP_READ, 0, 0, 0);
  end
    else
  begin
    Result := nil;
  end;
  CloseHandle(hFile);
end;
Es kommt eine AV bei CopyMemory im WriteToMMF Teil, wenn ich das Programm auf einer VM starte. Sehr komisch ist noch, dass es auf meinem normalen System funktioniert. Und das sogar, wenn ich CopyMemory auskommentiere Kann ich mir nicht erklären, denke aber mal, dass da mein Fehler liegt.

ARGH Ich habs .. heureka Mein Programm hat sich teilweise geschlossen, befor mein RemoteThread auf die Daten zugegriffen hat. Ein simples WaitForSingleObject hats getan.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat