Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#21

Re: MemoryMapped Files unter Vista - keine Daten

  Alt 18. Jan 2008, 12:48
davon abgesehen das
Delphi-Quellcode:

WriteToMMF(@Len, SizeOf(Len), 'InjectionMappingTest2');

procedure WriteToMMF(Filename: PChar; Data: Pointer; Len: Integer);
aus deinen obigen Postings nicht zusammenpasst (Parameter) versuche mal folgende Änderung:

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);
    if Mem <> nil then CopyMemory(Mem, Data, Len)
      else RaiseLastWin32Error;
  end else RaiseLastWin32Error;
  //CloseHandle(hFile);
end;
Ach und nochwas: Wo wird hFile wieder geschlossen ? Wo wird Mem wieder mit UnmapViewOfFile() freigegeben ? Wo sind die try finally Schutzblöcke ?

Gruß Hagen
  Mit Zitat antworten Zitat