Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prism CreateFileMapping unter VCL.Net (https://www.delphipraxis.net/101040-createfilemapping-unter-vcl-net.html)

gluglu 7. Okt 2007 15:14


CreateFileMapping unter VCL.Net
 
Hallo !

Wie bekomme ich CreateFileMapping implementiert unter VCL.Net ??

Soweit :
Delphi-Quellcode:
fFileHandle : THandle;
FSpeicher  : IntPtr;
Buffer     : IntPtr;
AuxString  : String;

fFileHandle := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, 1024, 'WunschName');
if fFileHandle <> 0 then begin

  FSpeicher := MapViewOfFile(fFileHandle, FILE_MAP_WRITE, 0, 0, 0);

  AuxString := '1';
  Buffer   := Marshal.StringToHGlobalAuto(AuxString);
  ...
  // Wie kann ich hier Buffer in FSpeicher schreiben ??

end;
Und falls ich AuxString im FileMapping ich wieder auslesen möchte, dachte ich es könnte so machen :

Delphi-Quellcode:
fFileHandle2 : THandle;
AuxString2   : String;
Buffer2      : IntPtr;
LSpeicher   : IntPtr;

fFileHandle2 := OpenFileMapping(FILE_MAP_READ, False, 'WunschName');
if fFileHandle2 <> 0 then begin

  LSpeicher := MapViewOfFile(fFileHandle2, FILE_MAP_READ, 0, 0, 0);

  Buffer2    := Marshal.AllocHGlobal(1024 * Marshal.SystemDefaultCharSize);
  // ?? Hier müsste ich den Inhalt von MapViewofFile in Buffer2 bekommen
  AuxString2 := Marshal.PtrToStringAuto(Buffer2);

end;
Danke für eure Hilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:20 Uhr.

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