Index: /trunk/include/VBox/com/string.h
===================================================================
--- /trunk/include/VBox/com/string.h	(revision 85313)
+++ /trunk/include/VBox/com/string.h	(revision 85314)
@@ -1284,11 +1284,5 @@
      * @returns S_OK or E_OUTOFMEMORY (COM status codes).
      */
-    HRESULT cloneToEx(BSTR *pbstr) const
-    {
-        if (!pbstr)
-            return S_OK;
-        Bstr bstr(*this);
-        return bstr.detachToEx(pbstr);
-    }
+    HRESULT cloneToEx(BSTR *pbstr) const RT_NOEXCEPT;
 
     /**
Index: /trunk/src/VBox/Main/glue/string.cpp
===================================================================
--- /trunk/src/VBox/Main/glue/string.cpp	(revision 85313)
+++ /trunk/src/VBox/Main/glue/string.cpp	(revision 85314)
@@ -730,4 +730,15 @@
 }
 #endif
+
+HRESULT Utf8Str::cloneToEx(BSTR *pbstr) const RT_NOEXCEPT
+{
+    if (!pbstr)
+        return S_OK;
+    Bstr bstr;
+    HRESULT hrc = bstr.assignEx(*this);
+    if (SUCCEEDED(hrc))
+        hrc = bstr.detachToEx(pbstr);
+    return hrc;
+}
 
 Utf8Str& Utf8Str::stripTrailingSlash()
