Ich würde sagen, es ist so: Da bisher ein NIL-Zeiger als SecurityAttributes übergeben wurde, werden die Standardrechte auf das Event-Objekt vergeben. Diese Standardrechte reichen nicht aus, damit eine Anwendung auf das Event-Objekt zugreifen darf. Deshalb ist es erforderlich, die Rechte explizit zu vergeben. Mit der Aufrufsequenz wird die "discretionary
access control list" (DACL) auf NULL gesetzt. Es hat also nun "Jeder" Zugriff auf das Event-Objekt.
s.a. Hilfe Text zu "SetSecurityDescriptorDacl":
Zitat:
If this parameter is NULL, a NULL DACL is assigned to the security descriptor, which allows all
access to the object.
P.S. Dieses Problem tritt eigentlich regelmäßig auf, wenn unterschiedliche Anwendungen untereinander über gemeinsame Objekte kommunizieren