Частенько, очень, нужно без конвертации дополнительной (WideCharToMultiByte и т.п.) работать нативно с utf-16 типом данных (MFC CString Wide char string aka UNICODE) в Win32.

Заморочился в 2013м году и перепилил tinyxml2 для поддержки прямой. Только важный момент:

-теперь библиотека работает только с UTF-16 данными. никакой utf8 не поддерживается!

зато можно смело работать с UNICODE строками в MSVC2010-2015