> msg is a stack variable, you can't return it iirc. Either create a var on > the heap, or pass msg in as a parameter. >
D'oh! You're right. I changed the code to the following and it's working. Notice use of CoTaskMemAlloc, which I think is the least worst choice of heap allocation functions according to the MSDN docs. Notice that I've completely forgotten what the lengths are supposed to be for string lengths, is it x2 for wchar? is it correct to allocate 200 bytes for 100 wchars? The compiler is giving me an overrun warning. You're supposed to use sizeof or something like that, but my brain has gone mushy on all those rules now (which is part of the reason I never want to code this assembler crap again!). Even worse … what about the memory leak in CoTaskMemAlloc? I make the buffer, copy in the string and return it, but it's now leaked. Should I use a global static buffer that can be released later? When? *GK* [image: image.png]
