A few Windows functions use structures (UDTs to Basic programmers) containing strings. This creates a problem because a Basic string in a Basic UDT differs somewhat from a C string in a C structure. I once made the foolish mistake of asserting on a Microsoft e-mail alias where Visual Basic is discussed that Basic programmers cannot use Windows structures containing strings. Take my word for it: don’t try to tell hardcore programmers what they can and cannot do. This was back in the old days when dealing with strings in the HLSTR format was more difficult, but even then the real hackers found a way.