What you are trying to aim for is possible and could be done using a set of commands similar to my Matrix1Async plug-in.
I avoided the data-conversion issue. Basically, the data just gets loaded into a memblock and it's up to the coder to translate this into usable data.
What I do personally is write a program that loads the data, converts it to a memblock (using MAKE MEMBLOCK FROM ...) and then saves the the memblock to a file. Then when the data is loaded back into the memblock within my main program, I use the MAKE ... FROM MEMBLOCK commands to convert it back.
*** Coming soon - Network Plug-in - Check my site for info ***
For free Plug-ins, source and the Interface library for Visual C++ 6, .NET and now for Dev-C++
http://www.matrix1.demon.co.uk