Wie konvertiere ich eine Zeichenfolge in UTF-16 in UTF-8 in C ++

Erwägen:

STDMETHODIMP CFileSystemAPI::setRRConfig( BSTR config_str, VARIANT* ret )
{
mReportReaderFactory.reset( new sbis::report_reader::ReportReaderFactory() );

USES_CONVERSION;
std::string configuration_str = W2A( config_str );

Aber in config_str bekomme ich einen String in UTF-16. Wie kann ich es in diesem Code in UTF-8 konvertieren?