Maybe there's just something I don't understand about how mIRC interfaces with DLLs, but I can't understand why it needs to use a mapped file (which gets shared among ALL instances of mIRC) in order to store text used when working with SendMessage().
I've seen numerous programs (and written a few myself) which simply pass pointers to buffers (either containing data to send and/or waiting for data to receive) directly to the DLL being used (or back to the program which called it).

Is there some reason why this can't be used in mIRC as well? It would certainly make interprocess communication a lot easier, as well as allow it to work with multiple instances of mIRC without requiring any special handling..

* Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another