Man kann einer
DLL natuerlich beliebige Daten in einem Puffer uebergeben. PChar ist ja auch nichts anderes.
Es besteht nur die Vereinbarung das der Inhalt ein String ist der an einem #0 aufhoert.
Was du uebergeben willst ist ein Puffer plus Groessenangabe des Puffers und Laengenangabe des Inhalts.
In der
DLL darf man dann nicht C-String-Verarbeitung treiben. Man benutzt die Laengenangabe um die Daten zu entschluesseln und die Groessenangabe um herauszubekommen ob die Ergaenzungen noch in den Puffer passen.
Das mit der Umarbeitung in lesbare Zeichen kann man dann lassen.
Es muss natuerlich die
DLL umgeschrieben werden.
Als Alternative kann der XOR-Schluessel so gewaehlt werden das nie ein #0 Zeichen im verschluesselten String auftaucht.
Dazu muss nur sichergestellt werden das nie zwei gleiche Zeichen aufeinandertreffen.