Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi MemoryMapped Files unter Vista - keine Daten (https://www.delphipraxis.net/92973-memorymapped-files-unter-vista-keine-daten.html)

negaH 18. Jan 2008 11:48

Re: MemoryMapped Files unter Vista - keine Daten
 
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

JonnyGuitar 18. Jan 2008 14:08

Re: MemoryMapped Files unter Vista - keine Daten
 
nur ein kurzer einwurf zum thema vista.
ich meine mich zu errinnern, dass das unter vista nur funktioniert wenn
man sich mit SetSecurityDescriptorDacl die vollen rechte holt.

cheers Jonny


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:45 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz