Mein natives C++ Win32-Programm erzeugt einen Worker-Prozess und muss ihm eine große Konfigurationszeichenfolge übergeben. Zur Zeit übergibt es die Zeichenfolge als Befehlszeile an CreateProcess()
. Das Problem ist, dass die Zeichenkette länger wird und jetzt nicht mehr in die 32K-Zeichen-Beschränkung von Windows passt.Wie kann man einen sehr langen String problemlos an einen Worker-Prozess unter Windows übergeben?
Natürlich könnte ich etwas wie komplizieren den Worker-Prozess starten - ich benutze den RPC-Server trotzdem und ich könnte eine RPC-Anfrage für die Übergabe der Konfigurations-String einführen, aber dies wird eine Menge Änderungen erfordern und die Lösung machen nicht so zuverlässig. Das Speichern der Daten in einer Datei zum Übergeben ist auch nicht sehr elegant - die Datei könnte im Dateisystem verbleiben und zu einem Müll werden.
Welche anderen einfachen Möglichkeiten gibt es für die Übergabe langer Zeichenfolgen an einen Arbeitsprozess, der von meinem Programm unter Windows gestartet wurde?
IPC von Windows unterstützt: http://msdn.microsoft.com/en-us/library/aa365574%28v=VS.85%29.aspx –