I've been looking at the command line generated by Visual Studio, and for one of my project it defines two symbols: _UNICODE and UNICODE. Now if I understand this document this rather old document, the _UNICODE symbol is a VC++ thing that causes certain standard functions to use wchar_t instead of char in their interfaces.
But what does the UNICODE without an underscore mean?