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?
 
     
     
     
     
    