the standard switched from ANSI to UNICODE midway, and with mechanisms to support both, arguments for other libraries being std::string or std::wstring, and the existence of ATL's CComBSTR and ...