Um die
DLL in der Initialisierung abzuwürgen, reicht es, ExitCode auf einen Wert ungleich Null zu setzen.
Was du tun kannst, um das Problem zu beheben? Setze beim Erstellen des File Mappings die Rechte, sodass alle Benutzer Lesezugriff haben. Es ist übrigens auch nicht nötig, in der
DLL Schreibzugriff zu verlangen.
Eine andere Frage: Warum hältst du
Handle und View des Mappings so lange offen? Du kannst diese Ressourcen direkt nach dem Lesen von TargetHandle wieder freigeben. Dann brauchst du auch keine DllProc.