<DllImport("kernel32.dll", EntryPoint := "RtlMoveMemory")> _ Private Shared Sub CopyMemory(Destination As Double(), Source As Double(), Length As UInteger) End Sub
Bei der Double-Zahl handelt es sich um 8 Bytes, die standardmäßig nach IEEE 754 verschlüsselt werden. Das bedeutet, dass Mantisse und Exponent getrennt eingetragen werden. Manche Hexeditoren können diese Bitketten direkt wieder in eine Zahl umwandeln. Die Funktion CopyMemory kopiert offensichtlich nur diese Bitkette in den Speicher.
Wenn ich das richtig verstehe, dann geht es doch um das Serialisieren und Deserialisieren von Werten. Was spricht dann dagegen, statt eines Bytestreams einen anderen Mechanismus zu verwenden, z.B. XML?
@hupsi: Bitte poste solche Anmerkungen als Kommentar zu einer Antwort, da der Thread hier nicht "as-posted" erhalten bleibt, sondern aufgrund der Bewertungen geordnet wird. Da passiert es schnell, dass Deine "Antwort"(=Anmerkung) völlig kontextfrei unter einem anderen Beitrag steht.
Ich habe das Problem gelöst. Ich habe nun eine eigene Routine in VB2010 ohne API und CopyMemeory geschrieben, welches die Werte ins ByteArray schreibt. Mit dem Wissen von Wikipedia über IEEE754 und einem Online-UmRechner war das dann auch kein Problem mehr.