Event Access Rechte
-
Hallo,
ich habe zwei Programme eines erstellt ein Named event:
CreateEvent(NULL,FALSE,FALSE,EventName);
und der andere Öffnet es:
if (m_hReadEvent = OpenEventW(SYNCHRONIZE,FALSE,(WCHAR *)EventName.sEventName))
jetzt kann das der zweite nicht öffnen. Wenn ich dem zweiten alle Access Rechte (EVENT_ALL_ACCESS) gebe geht es.
Jetzt soll der zweite Precess aber eigenlich nur auf das Event mit WaitforSingleObject warten können.
Vielleicht habt ihr ja eine Idee?
MfG
-
Hast Du es mal nur mit SYNCHRONIZE versucht. Das sollte eigentlich langen.
-
ja eben da konnte ich das event nicht öffnen (also das Handle war NULL).
-
War soll denn der komische cast vor dem Namen!? Der darf da nicht sein, sonst ist noch was anderes Faul!
-
also nochmal. So gehts:
if (m_hReadEvent = OpenEventW(EVENT_ALL_ACCESS,FALSE,(WCHAR *)EventName.sEventName))
so nicht:
if (m_hReadEvent = OpenEventW(SYNCHRONIZE,FALSE,(WCHAR *)EventName.sEventName))
Der Cast ist damit die Warnung weg ist, dass er mein unsigned short array nicht nach WCHAR * konvertieren kann. Also völlig normal.
Nach der msdn müßte doch die zweite Variante auch ausreichen oder muß ich dann dem CreateEvent irgendwelche speziellen Rechte geben?
MfG
-
U.u. hilft es wenn du beim Erzeugen explizit ne ACL mitgibtst (lpEventAttributes).
-
Werden die Prozesse unter dem gleichen Account gestartet?