Einzelnen Beitrag anzeigen

Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#4

Re: Komm. Service <-> App via Shared Memory

  Alt 30. Okt 2009, 16:30
Ich habe das so gemacht. Habe zugegebenerweise auch nicht viel Ahnung von dem Sicherheitskram, aber ich lege es im Dienst an und kann es in einer Applikation, die von einem nicht-Admin gestartet wurde, dann auslesen.

Edit: Auch auf das 'Global\' vor dem Namen des MMFs achten.

Delphi-Quellcode:
var
  hFileMapping: THandle;
  Mem: PMapBytes;
  Len: Integer;
  SA: TSecurityAttributes;
  pSD: TSecurityDescriptor;
begin
  if not InitializeSecurityDescriptor(@pSD, SECURITY_DESCRIPTOR_REVISION) then
    Exit;
  if not SetSecurityDescriptorDacl(@pSD, true, nil, false) then
    Exit;

  SA.nLength := SizeOf(SA);
  SA.lpSecurityDescriptor := @pSD;
  SA.bInheritHandle := True;

  hFileMapping := CreateFileMapping(INVALID_HANDLE_VALUE, @SA,
    PAGE_READWRITE, 0, S.Size, 'Global\DasTolleMapping');
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat