Index: /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp	(revision 53332)
+++ /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp	(revision 53333)
@@ -132,5 +132,5 @@
  */
 static int VBoxServiceVMInfoWinProcessesGetModuleNameA(PVBOXSERVICEVMINFOPROC const pProc,
-                                                       char **ppszName)
+                                                       PRTUTF16 *ppszName)
 {
     AssertPtrReturn(pProc, VERR_INVALID_POINTER);
@@ -198,8 +198,9 @@
         else
         {
-            char *pszName;
-            rc = RTUtf16ToUtf8(wszName, &pszName);
-            if (RT_SUCCESS(rc))
+            PRTUTF16 pszName = RTUtf16Dup(wszName);
+            if (pszName)
                 *ppszName = pszName;
+            else
+                rc = VERR_NO_MEMORY;
         }
 
@@ -595,11 +596,11 @@
                 if (g_cVerbosity)
                 {
-                    char *pszName;
+                    PRTUTF16 pszName;
                     int rc2 = VBoxServiceVMInfoWinProcessesGetModuleNameA(&paProcs[i], &pszName);
-                    VBoxServiceVerbose(4, "Session %RU32: PID=%ld (fInt=%RTbool): %s\n",
+                    VBoxServiceVerbose(4, "Session %RU32: PID=%ld (fInt=%RTbool): %ls\n",
                                        pSessionData->Session, paProcs[i].id, paProcs[i].fInteractive,
-                                       RT_SUCCESS(rc2) ? pszName : "<Unknown>");
+                                       RT_SUCCESS(rc2) ? pszName : L"<Unknown>");
                     if (RT_SUCCESS(rc2))
-                        RTStrFree(pszName);
+                        RTUtf16Free(pszName);
                 }
 
