So sollte es funktionieren. Warum ich damals
bInheritHandle
auf true gesetzt habe, kann ich dir allerdings grade nicht mehr sagen:
Delphi-Quellcode:
var
FSA: SECURITY_ATTRIBUTES;
FSD: SECURITY_DESCRIPTOR;
begin
InitializeSecurityDescriptor(@FSD, SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(@FSD, true, nil, false);
FSA.lpSecurityDescriptor := @FSD;
FSA.nLength := SizeOf(SECURITY_ATTRIBUTES);
FSA.bInheritHandle := true;
Event := CreateEvent(@FSA, true, false, 'Global\MyEvent');
Der Code wurde aus einem Service heraus aufgerufen, weshalb es sein kann, dass das "Global" bei dir nicht funktioniert. In diesem Falle einfach weglassen.