in reply to Win32 API Problem

I've fiddled a little more and thanks to Devel::Peek I've found that what it's doing (I think) is using the memory address of the pointer in the 2nd procedure, rather than it's value. The memory itself seems to have had "something" put in it after running the first function so I'm guessing that bit's fine.
I get the feeling that I'm so close yet so far :)
George