Index: /trunk/src/VBox/Main/include/ConsoleImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/ConsoleImpl.h	(revision 85306)
+++ /trunk/src/VBox/Main/include/ConsoleImpl.h	(revision 85307)
@@ -204,5 +204,5 @@
     HRESULT i_onBandwidthGroupChange(IBandwidthGroup *aBandwidthGroup);
     HRESULT i_onStorageDeviceChange(IMediumAttachment *aMediumAttachment, BOOL aRemove, BOOL aSilent);
-    HRESULT i_onExtraDataChange(IN_BSTR aMachineId, IN_BSTR aKey, IN_BSTR aVal);
+    HRESULT i_onExtraDataChange(const Bstr &aMachineId, const Bstr &aKey, const Bstr &aVal);
 
     HRESULT i_getGuestProperty(const Utf8Str &aName, Utf8Str *aValue, LONG64 *aTimestamp, Utf8Str *aFlags);
Index: /trunk/src/VBox/Main/include/VirtualBoxImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/VirtualBoxImpl.h	(revision 85306)
+++ /trunk/src/VBox/Main/include/VirtualBoxImpl.h	(revision 85307)
@@ -195,13 +195,13 @@
                                 NATProtocol_T aProto, IN_BSTR aHostIp, uint16_t aHostPort,
                                 IN_BSTR aGuestIp, uint16_t aGuestPort);
-    void i_onNATNetworkChanged(IN_BSTR aNetworkName);
-    void i_onNATNetworkStartStop(IN_BSTR aNetworkName, BOOL aStart);
-    void i_onNATNetworkSetting(IN_BSTR aNetworkName, BOOL aEnabled, IN_BSTR aNetwork,
-                               IN_BSTR aGateway, BOOL aAdvertiseDefaultIpv6RouteEnabled,
+    void i_onNATNetworkChanged(const Utf8Str &aNetworkName);
+    void i_onNATNetworkStartStop(const Utf8Str &aNetworkName, BOOL aStart);
+    void i_onNATNetworkSetting(const Utf8Str &aNetworkName, BOOL aEnabled, const Utf8Str &aNetwork,
+                               const Utf8Str &aGateway, BOOL aAdvertiseDefaultIpv6RouteEnabled,
                                BOOL fNeedDhcpServer);
-    void i_onNATNetworkPortForward(IN_BSTR aNetworkName, BOOL create, BOOL fIpv6,
-                                   IN_BSTR aRuleName, NATProtocol_T proto,
-                                   IN_BSTR aHostIp, LONG aHostPort,
-                                   IN_BSTR aGuestIp, LONG aGuestPort);
+    void i_onNATNetworkPortForward(const Utf8Str &aNetworkName, BOOL create, BOOL fIpv6,
+                                   const Utf8Str &aRuleName, NATProtocol_T proto,
+                                   const Utf8Str &aHostIp, LONG aHostPort,
+                                   const Utf8Str &aGuestIp, LONG aGuestPort);
     void i_onHostNameResolutionConfigurationChange();
 
Index: /trunk/src/VBox/Main/src-all/ProgressImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-all/ProgressImpl.cpp	(revision 85306)
+++ /trunk/src/VBox/Main/src-all/ProgressImpl.cpp	(revision 85307)
@@ -911,5 +911,5 @@
         ULONG actualPercent = 0;
         getPercent(&actualPercent);
-        ::FireProgressPercentageChangedEvent(pEventSource, mId.toUtf16().raw(), (LONG)actualPercent);
+        ::FireProgressPercentageChangedEvent(pEventSource, mId.toString(), (LONG)actualPercent);
     }
 
@@ -1068,5 +1068,5 @@
     ULONG actualPercent = 0;
     getPercent(&actualPercent);
-    ::FireProgressPercentageChangedEvent(pEventSource, mId.toUtf16().raw(), (LONG)actualPercent);
+    ::FireProgressPercentageChangedEvent(pEventSource, mId.toString(), (LONG)actualPercent);
 
     return S_OK;
@@ -1162,5 +1162,5 @@
         RTSemEventMultiSignal(mCompletedSem);
 
-    ::FireProgressTaskCompletedEvent(pEventSource, mId.toUtf16().raw());
+    ::FireProgressTaskCompletedEvent(pEventSource, mId.toString());
 
     return S_OK;
Index: /trunk/src/VBox/Main/src-client/ConsoleImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/ConsoleImpl.cpp	(revision 85306)
+++ /trunk/src/VBox/Main/src-client/ConsoleImpl.cpp	(revision 85307)
@@ -345,14 +345,12 @@
                 ComPtr<IExtraDataChangedEvent> pEDCEv = aEvent;
                 Bstr strMachineId;
+                HRESULT hrc = pEDCEv->COMGETTER(MachineId)(strMachineId.asOutParam());
+                if (FAILED(hrc)) break;
+
                 Bstr strKey;
-                Bstr strVal;
-                HRESULT hrc = S_OK;
-
-                hrc = pEDCEv->COMGETTER(MachineId)(strMachineId.asOutParam());
-                if (FAILED(hrc)) break;
-
                 hrc = pEDCEv->COMGETTER(Key)(strKey.asOutParam());
                 if (FAILED(hrc)) break;
 
+                Bstr strVal;
                 hrc = pEDCEv->COMGETTER(Value)(strVal.asOutParam());
                 if (FAILED(hrc)) break;
@@ -5224,5 +5222,5 @@
     AssertComRCReturnRC(autoCaller.rc());
 
-    ::FireStorageControllerChangedEvent(mEventSource, Bstr(aMachineId.toString()).raw(), Bstr(aControllerName).raw());
+    ::FireStorageControllerChangedEvent(mEventSource, aMachineId.toString(), aControllerName);
 
     LogFlowThisFunc(("Leaving rc=%#x\n", S_OK));
@@ -6065,5 +6063,5 @@
 }
 
-HRESULT Console::i_onExtraDataChange(IN_BSTR aMachineId, IN_BSTR aKey, IN_BSTR aVal)
+HRESULT Console::i_onExtraDataChange(const Bstr &aMachineId, const Bstr &aKey, const Bstr &aVal)
 {
     LogFlowThisFunc(("\n"));
@@ -6073,33 +6071,26 @@
         return autoCaller.rc();
 
-    if (!aMachineId)
+    if (aMachineId != i_getId())
         return S_OK;
 
-    HRESULT hrc = S_OK;
-    Bstr idMachine(aMachineId);
-    if (   FAILED(hrc)
-        || idMachine != i_getId())
-        return hrc;
-
     /* don't do anything if the VM isn't running */
-    SafeVMPtrQuiet ptrVM(this);
-    if (ptrVM.isOk())
-    {
-        if (RTUtf16CmpAscii(aKey, "VBoxInternal2/TurnResetIntoPowerOff") == 0)
-        {
-            mfTurnResetIntoPowerOff = RTUtf16CmpAscii(aVal, "1") == 0;
+    if (aKey == "VBoxInternal2/TurnResetIntoPowerOff")
+    {
+        SafeVMPtrQuiet ptrVM(this);
+        if (ptrVM.isOk())
+        {
+            mfTurnResetIntoPowerOff = aVal == "1";
             int vrc = VMR3SetPowerOffInsteadOfReset(ptrVM.rawUVM(), mfTurnResetIntoPowerOff);
             AssertRC(vrc);
-        }
-
-        ptrVM.release();
+
+            ptrVM.release();
+        }
     }
 
     /* notify console callbacks on success */
-    if (SUCCEEDED(hrc))
-        ::FireExtraDataChangedEvent(mEventSource, aMachineId, aKey, aVal);
-
-    LogFlowThisFunc(("Leaving hrc=%#x\n", hrc));
-    return hrc;
+    ::FireExtraDataChangedEvent(mEventSource, aMachineId.raw(), aKey.raw(), aVal.raw());
+
+    LogFlowThisFunc(("Leaving S_OK\n"));
+    return S_OK;
 }
 
Index: /trunk/src/VBox/Main/src-client/DisplayImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/DisplayImpl.cpp	(revision 85306)
+++ /trunk/src/VBox/Main/src-client/DisplayImpl.cpp	(revision 85307)
@@ -789,5 +789,5 @@
         if (fDisabled)
             ::FireGuestMonitorChangedEvent(mParent->i_getEventSource(),
-                                           GuestMonitorChangedEventType_Disabled,  uScreenId, 0, 0, 0, 0);
+                                           GuestMonitorChangedEventType_Disabled, uScreenId, 0, 0, 0, 0);
         else
             ::FireGuestMonitorChangedEvent(mParent->i_getEventSource(),
Index: /trunk/src/VBox/Main/src-client/GuestFileImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/GuestFileImpl.cpp	(revision 85306)
+++ /trunk/src/VBox/Main/src-client/GuestFileImpl.cpp	(revision 85307)
@@ -527,5 +527,5 @@
 
                 com::SafeArray<BYTE> data((size_t)cbRead);
-                data.initFrom((BYTE*)dataCb.u.read.pvData, cbRead);
+                data.initFrom((BYTE *)dataCb.u.read.pvData, cbRead);
 
                 ::FireGuestFileReadEvent(mEventSource, mSession, this, mData.mOffCurrent, cbRead, ComSafeArrayAsInParam(data));
Index: /trunk/src/VBox/Main/src-server/NATNetworkImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/NATNetworkImpl.cpp	(revision 85306)
+++ /trunk/src/VBox/Main/src-server/NATNetworkImpl.cpp	(revision 85307)
@@ -171,8 +171,8 @@
     data = m->s;
 
-    m->pVirtualBox->i_onNATNetworkSetting(Bstr(m->s.strNetworkName).raw(),
+    m->pVirtualBox->i_onNATNetworkSetting(m->s.strNetworkName,
                                           m->s.fEnabled,
-                                          Bstr(m->s.strIPv4NetworkCidr).raw(),
-                                          Bstr(m->IPv4Gateway).raw(),
+                                          m->s.strIPv4NetworkCidr,
+                                          m->IPv4Gateway,
                                           m->s.fAdvertiseDefaultIPv6Route,
                                           m->s.fNeedDhcpServer);
@@ -180,8 +180,8 @@
     /* Notify listerners listening on this network only */
     ::FireNATNetworkSettingEvent(m->pEventSource,
-                                 Bstr(m->s.strNetworkName).raw(),
+                                 m->s.strNetworkName,
                                  m->s.fEnabled,
-                                 Bstr(m->s.strIPv4NetworkCidr).raw(),
-                                 Bstr(m->IPv4Gateway).raw(),
+                                 m->s.strIPv4NetworkCidr,
+                                 m->IPv4Gateway,
                                  m->s.fAdvertiseDefaultIPv6Route,
                                  m->s.fNeedDhcpServer);
@@ -584,14 +584,14 @@
     }
 
-    m->pVirtualBox->i_onNATNetworkPortForward(Bstr(m->s.strNetworkName).raw(), TRUE, aIsIpv6,
-                                              Bstr(aPortForwardRuleName).raw(), aProto,
-                                              Bstr(aHostIp).raw(), aHostPort,
-                                              Bstr(aGuestIp).raw(), aGuestPort);
+    m->pVirtualBox->i_onNATNetworkPortForward(m->s.strNetworkName, TRUE, aIsIpv6,
+                                              aPortForwardRuleName, aProto,
+                                              aHostIp, aHostPort,
+                                              aGuestIp, aGuestPort);
 
     /* Notify listerners listening on this network only */
-    ::FireNATNetworkPortForwardEvent(m->pEventSource, Bstr(m->s.strNetworkName).raw(), TRUE,
-                                     aIsIpv6, Bstr(aPortForwardRuleName).raw(), aProto,
-                                     Bstr(aHostIp).raw(), aHostPort,
-                                     Bstr(aGuestIp).raw(), aGuestPort);
+    ::FireNATNetworkPortForwardEvent(m->pEventSource, m->s.strNetworkName, TRUE,
+                                     aIsIpv6, aPortForwardRuleName, aProto,
+                                     aHostIp, aHostPort,
+                                     aGuestIp, aGuestPort);
 
     return S_OK;
@@ -629,14 +629,10 @@
     }
 
-    m->pVirtualBox->i_onNATNetworkPortForward(Bstr(m->s.strNetworkName).raw(), FALSE, aIsIpv6,
-                                              Bstr(aPortForwardRuleName).raw(), proto,
-                                              Bstr(strHostIP).raw(), u16HostPort,
-                                              Bstr(strGuestIP).raw(), u16GuestPort);
+    m->pVirtualBox->i_onNATNetworkPortForward(m->s.strNetworkName, FALSE, aIsIpv6, aPortForwardRuleName, proto,
+                                              strHostIP, u16HostPort, strGuestIP, u16GuestPort);
 
     /* Notify listerners listening on this network only */
-    ::FireNATNetworkPortForwardEvent(m->pEventSource, Bstr(m->s.strNetworkName).raw(), FALSE,
-                                     aIsIpv6, Bstr(aPortForwardRuleName).raw(), proto,
-                                     Bstr(strHostIP).raw(), u16HostPort,
-                                     Bstr(strGuestIP).raw(), u16GuestPort);
+    ::FireNATNetworkPortForwardEvent(m->pEventSource, m->s.strNetworkName, FALSE, aIsIpv6, aPortForwardRuleName, proto,
+                                     strHostIP, u16HostPort, strGuestIP, u16GuestPort);
     return S_OK;
 }
@@ -854,5 +850,5 @@
     if (RT_SUCCESS(m->NATRunner.start(false /* KillProcOnStop */)))
     {
-        m->pVirtualBox->i_onNATNetworkStartStop(Bstr(m->s.strNetworkName).raw(), TRUE);
+        m->pVirtualBox->i_onNATNetworkStartStop(m->s.strNetworkName, TRUE);
         return S_OK;
     }
@@ -867,5 +863,5 @@
 {
 #ifdef VBOX_WITH_NAT_SERVICE
-    m->pVirtualBox->i_onNATNetworkStartStop(Bstr(m->s.strNetworkName).raw(), FALSE);
+    m->pVirtualBox->i_onNATNetworkStartStop(m->s.strNetworkName, FALSE);
 
     if (!m->dhcpServer.isNull())
Index: /trunk/src/VBox/Main/src-server/VirtualBoxImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/VirtualBoxImpl.cpp	(revision 85306)
+++ /trunk/src/VBox/Main/src-server/VirtualBoxImpl.cpp	(revision 85307)
@@ -3732,16 +3732,16 @@
 
 /** @todo Unused!!  */
-void VirtualBox::i_onNATNetworkChanged(IN_BSTR aName)
+void VirtualBox::i_onNATNetworkChanged(const Utf8Str &aName)
 {
     ::FireNATNetworkChangedEvent(m->pEventSource, aName);
 }
 
-void VirtualBox::i_onNATNetworkStartStop(IN_BSTR aName, BOOL fStart)
+void VirtualBox::i_onNATNetworkStartStop(const Utf8Str &aName, BOOL fStart)
 {
     ::FireNATNetworkStartStopEvent(m->pEventSource, aName, fStart);
 }
 
-void VirtualBox::i_onNATNetworkSetting(IN_BSTR aNetworkName, BOOL aEnabled,
-                                       IN_BSTR aNetwork, IN_BSTR aGateway,
+void VirtualBox::i_onNATNetworkSetting(const Utf8Str &aNetworkName, BOOL aEnabled,
+                                       const Utf8Str &aNetwork, const Utf8Str &aGateway,
                                        BOOL aAdvertiseDefaultIpv6RouteEnabled,
                                        BOOL fNeedDhcpServer)
@@ -3751,8 +3751,8 @@
 }
 
-void VirtualBox::i_onNATNetworkPortForward(IN_BSTR aNetworkName, BOOL create, BOOL fIpv6,
-                                           IN_BSTR aRuleName, NATProtocol_T proto,
-                                           IN_BSTR aHostIp, LONG aHostPort,
-                                           IN_BSTR aGuestIp, LONG aGuestPort)
+void VirtualBox::i_onNATNetworkPortForward(const Utf8Str &aNetworkName, BOOL create, BOOL fIpv6,
+                                           const Utf8Str &aRuleName, NATProtocol_T proto,
+                                           const Utf8Str &aHostIp, LONG aHostPort,
+                                           const Utf8Str &aGuestIp, LONG aGuestPort)
 {
     ::FireNATNetworkPortForwardEvent(m->pEventSource, aNetworkName, create, fIpv6, aRuleName, proto,
@@ -5919,5 +5919,5 @@
     natNetwork.queryInterfaceTo(aNetwork.asOutParam());
 
-    ::FireNATNetworkCreationDeletionEvent(m->pEventSource, Bstr(aNetworkName).raw(), TRUE);
+    ::FireNATNetworkCreationDeletionEvent(m->pEventSource, aNetworkName, TRUE);
 
     return rc;
