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
_UNICODE
UNICODE
In a nutshell,
UNICODE is used by Windows headers,
whereas
_UNICODE is used by C-runtime/MFC headers.