Index: trunk/src/VBox/Main/src-client/ConsoleImpl.cpp
===================================================================
--- trunk/src/VBox/Main/src-client/ConsoleImpl.cpp	(revision 75700)
+++ trunk/src/VBox/Main/src-client/ConsoleImpl.cpp	(revision 75737)
@@ -8649,8 +8649,9 @@
         SHFLSTRING_TO_HGMC_PARAM(&aParams[0], pHostPath);
         SHFLSTRING_TO_HGMC_PARAM(&aParams[1], pName);
-        aParams[2].setUInt32(  (aData.m_fWritable  ? SHFL_ADD_MAPPING_F_WRITABLE : 0)
-                             | (aData.m_fAutoMount ? SHFL_ADD_MAPPING_F_AUTOMOUNT : 0)
-                             | (fSymlinksCreate    ? SHFL_ADD_MAPPING_F_CREATE_SYMLINKS : 0)
-                             | (fMissing           ? SHFL_ADD_MAPPING_F_MISSING : 0));
+        HGCMSvcSetU32(&aParams[2],
+                        (aData.m_fWritable  ? SHFL_ADD_MAPPING_F_WRITABLE : 0)
+                      | (aData.m_fAutoMount ? SHFL_ADD_MAPPING_F_AUTOMOUNT : 0)
+                      | (fSymlinksCreate    ? SHFL_ADD_MAPPING_F_CREATE_SYMLINKS : 0)
+                      | (fMissing           ? SHFL_ADD_MAPPING_F_MISSING : 0));
         SHFLSTRING_TO_HGMC_PARAM(&aParams[3], pAutoMountPoint);
         AssertCompile(SHFL_CPARMS_ADD_MAPPING == 4);
Index: trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp
===================================================================
--- trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp	(revision 75700)
+++ trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp	(revision 75737)
@@ -3068,6 +3068,5 @@
                     /* Setup the service. */
                     VBOXHGCMSVCPARM parm;
-                    parm.type = VBOX_HGCM_SVC_PARM_32BIT;
-                    parm.setUInt32(!i_useHostClipboard());
+                    HGCMSvcSetU32(&parm, !i_useHostClipboard());
                     pVMMDev->hgcmHostCall("VBoxSharedClipboard",
                                           VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS, 1, &parm);
@@ -6072,7 +6071,7 @@
 int configSetGlobalPropertyFlags(VMMDev * const pVMMDev, uint32_t fFlags)
 {
-    VBOXHGCMSVCPARM paParm;
-    paParm.setUInt32(fFlags);
-    int rc = pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GUEST_PROP_FN_HOST_SET_GLOBAL_FLAGS, 1, &paParm);
+    VBOXHGCMSVCPARM parm;
+    HGCMSvcSetU32(&parm, fFlags);
+    int rc = pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GUEST_PROP_FN_HOST_SET_GLOBAL_FLAGS, 1, &parm);
     if (RT_FAILURE(rc))
     {
Index: trunk/src/VBox/Main/src-client/GuestCtrlImpl.cpp
===================================================================
--- trunk/src/VBox/Main/src-client/GuestCtrlImpl.cpp	(revision 75700)
+++ trunk/src/VBox/Main/src-client/GuestCtrlImpl.cpp	(revision 75737)
@@ -106,5 +106,5 @@
     {
         uint32_t uContextID;
-        int rc = pSvcCb->mpaParms[0].getUInt32(&uContextID);
+        int rc = HGCMSvcGetU32(&pSvcCb->mpaParms[0], &uContextID);
         AssertMsgRCReturn(rc, ("Unable to extract callback context ID, pvData=%p\n", pSvcCb),
                           VINF_SUCCESS /* Never return any errors back to the guest here */);
@@ -166,8 +166,8 @@
             CALLBACKDATA_PROC_STATUS dataCb;
             /* pSvcCb->mpaParms[0] always contains the context ID. */
-            pSvcCb->mpaParms[1].getUInt32(&dataCb.uPID);
-            pSvcCb->mpaParms[2].getUInt32(&dataCb.uStatus);
-            pSvcCb->mpaParms[3].getUInt32(&dataCb.uFlags);
-            pSvcCb->mpaParms[4].getPointer(&dataCb.pvData, &dataCb.cbData);
+            HGCMSvcGetU32(&pSvcCb->mpaParms[1], &dataCb.uPID);
+            HGCMSvcGetU32(&pSvcCb->mpaParms[2], &dataCb.uStatus);
+            HGCMSvcGetU32(&pSvcCb->mpaParms[3], &dataCb.uFlags);
+            HGCMSvcGetPv(&pSvcCb->mpaParms[4], &dataCb.pvData, &dataCb.cbData);
 
             if (   (         dataCb.uStatus == PROC_STS_ERROR)
Index: trunk/src/VBox/Main/src-client/GuestCtrlPrivate.cpp
===================================================================
--- trunk/src/VBox/Main/src-client/GuestCtrlPrivate.cpp	(revision 75700)
+++ trunk/src/VBox/Main/src-client/GuestCtrlPrivate.cpp	(revision 75737)
@@ -748,9 +748,10 @@
                     CALLBACKDATA_MSG_REPLY dataCb;
                     /* pSvcCb->mpaParms[0] always contains the context ID. */
-                    vrc = pSvcCb->mpaParms[idx++].getUInt32(&dataCb.uType);
+                    vrc = HGCMSvcGetU32(&pSvcCb->mpaParms[idx++], &dataCb.uType);
                     AssertRCReturn(vrc, vrc);
-                    vrc = pSvcCb->mpaParms[idx++].getUInt32(&dataCb.rc);
+                    vrc = HGCMSvcGetU32(&pSvcCb->mpaParms[idx++], &dataCb.rc);
                     AssertRCReturn(vrc, vrc);
-                    vrc = pSvcCb->mpaParms[idx++].getPointer(&dataCb.pvPayload, &dataCb.cbPayload);
+                    vrc = HGCMSvcGetPv(&pSvcCb->mpaParms[idx++], &dataCb.pvPayload,
+                                       &dataCb.cbPayload);
                     AssertRCReturn(vrc, vrc);
 
Index: trunk/src/VBox/Main/src-client/GuestDirectoryImpl.cpp
===================================================================
--- trunk/src/VBox/Main/src-client/GuestDirectoryImpl.cpp	(revision 75700)
+++ trunk/src/VBox/Main/src-client/GuestDirectoryImpl.cpp	(revision 75737)
@@ -180,6 +180,6 @@
             CALLBACKDATA_DIR_NOTIFY dataCb;
             /* pSvcCb->mpaParms[0] always contains the context ID. */
-            pSvcCb->mpaParms[idx++].getUInt32(&dataCb.uType);
-            pSvcCb->mpaParms[idx++].getUInt32(&dataCb.rc);
+            HGCMSvcGetU32(&pSvcCb->mpaParms[idx++], &dataCb.uType);
+            HGCMSvcGetU32(&pSvcCb->mpaParms[idx++], &dataCb.rc);
 
             LogFlowFunc(("uType=%RU32, vrcGguest=%Rrc\n", dataCb.uType, (int)dataCb.rc));
Index: trunk/src/VBox/Main/src-client/GuestFileImpl.cpp
===================================================================
--- trunk/src/VBox/Main/src-client/GuestFileImpl.cpp	(revision 75700)
+++ trunk/src/VBox/Main/src-client/GuestFileImpl.cpp	(revision 75737)
@@ -379,6 +379,6 @@
     VBOXHGCMSVCPARM paParms[4];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setUInt32(mObjectID /* Guest file ID */);
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetU32(&paParms[i++], mObjectID /* Guest file ID */);
 
     vrc = sendCommand(HOST_FILE_CLOSE, i, paParms);
@@ -441,6 +441,6 @@
     CALLBACKDATA_FILE_NOTIFY dataCb;
     /* pSvcCb->mpaParms[0] always contains the context ID. */
-    pSvcCbData->mpaParms[idx++].getUInt32(&dataCb.uType);
-    pSvcCbData->mpaParms[idx++].getUInt32(&dataCb.rc);
+    HGCMSvcGetU32(&pSvcCbData->mpaParms[idx++], &dataCb.uType);
+    HGCMSvcGetU32(&pSvcCbData->mpaParms[idx++], &dataCb.rc);
 
     int rcGuest = (int)dataCb.rc; /* uint32_t vs. int. */
@@ -476,5 +476,5 @@
             if (pSvcCbData->mParms == 4)
             {
-                rc = pSvcCbData->mpaParms[idx++].getUInt32(&dataCb.u.open.uHandle);
+                rc = HGCMSvcGetU32(&pSvcCbData->mpaParms[idx++], &dataCb.u.open.uHandle);
                 if (RT_FAILURE(rc))
                     break;
@@ -496,5 +496,6 @@
             if (pSvcCbData->mParms == 4)
             {
-                rc = pSvcCbData->mpaParms[idx++].getPointer(&dataCb.u.read.pvData, &dataCb.u.read.cbData);
+                rc = HGCMSvcGetPv(&pSvcCbData->mpaParms[idx++], &dataCb.u.read.pvData,
+                                  &dataCb.u.read.cbData);
                 if (RT_FAILURE(rc))
                     break;
@@ -523,5 +524,5 @@
             if (pSvcCbData->mParms == 4)
             {
-                rc = pSvcCbData->mpaParms[idx++].getUInt32(&dataCb.u.write.cbWritten);
+                rc = HGCMSvcGetU32(&pSvcCbData->mpaParms[idx++], &dataCb.u.write.cbWritten);
                 if (RT_FAILURE(rc))
                     break;
@@ -545,5 +546,5 @@
             if (pSvcCbData->mParms == 4)
             {
-                rc = pSvcCbData->mpaParms[idx++].getUInt64(&dataCb.u.seek.uOffActual);
+                rc = HGCMSvcGetU64(&pSvcCbData->mpaParms[idx++], &dataCb.u.seek.uOffActual);
                 if (RT_FAILURE(rc))
                     break;
@@ -566,5 +567,5 @@
             if (pSvcCbData->mParms == 4)
             {
-                rc = pSvcCbData->mpaParms[idx++].getUInt64(&dataCb.u.tell.uOffActual);
+                rc = HGCMSvcGetU64(&pSvcCbData->mpaParms[idx++], &dataCb.u.tell.uOffActual);
                 if (RT_FAILURE(rc))
                     break;
@@ -713,12 +714,12 @@
     VBOXHGCMSVCPARM paParms[8];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setPointer((void*)mData.mOpenInfo.mFileName.c_str(),
-                            (ULONG)mData.mOpenInfo.mFileName.length() + 1);
-    paParms[i++].setString(pszAccessMode);
-    paParms[i++].setString(pszOpenAction);
-    paParms[i++].setString(pszSharingMode);
-    paParms[i++].setUInt32(mData.mOpenInfo.mCreationMode);
-    paParms[i++].setUInt64(mData.mOpenInfo.muOffset);
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetPv(&paParms[i++], (void*)mData.mOpenInfo.mFileName.c_str(),
+                 (ULONG)mData.mOpenInfo.mFileName.length() + 1);
+    HGCMSvcSetStr(&paParms[i++], pszAccessMode);
+    HGCMSvcSetStr(&paParms[i++], pszOpenAction);
+    HGCMSvcSetStr(&paParms[i++], pszSharingMode);
+    HGCMSvcSetU32(&paParms[i++], mData.mOpenInfo.mCreationMode);
+    HGCMSvcSetU64(&paParms[i++], mData.mOpenInfo.muOffset);
     /** @todo Next protocol version: add flags, replace strings, remove initial offset. */
 
@@ -774,7 +775,7 @@
     VBOXHGCMSVCPARM paParms[4];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setUInt32(mObjectID /* File handle */);
-    paParms[i++].setUInt32(uSize /* Size (in bytes) to read */);
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetU32(&paParms[i++], mObjectID /* File handle */);
+    HGCMSvcSetU32(&paParms[i++], uSize /* Size (in bytes) to read */);
 
     alock.release(); /* Drop write lock before sending. */
@@ -833,8 +834,8 @@
     VBOXHGCMSVCPARM paParms[4];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setUInt32(mObjectID /* File handle */);
-    paParms[i++].setUInt64(uOffset /* Offset (in bytes) to start reading */);
-    paParms[i++].setUInt32(uSize /* Size (in bytes) to read */);
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetU32(&paParms[i++], mObjectID /* File handle */);
+    HGCMSvcSetU64(&paParms[i++], uOffset /* Offset (in bytes) to start reading */);
+    HGCMSvcSetU32(&paParms[i++], uSize /* Size (in bytes) to read */);
 
     alock.release(); /* Drop write lock before sending. */
@@ -894,9 +895,9 @@
     VBOXHGCMSVCPARM paParms[4];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setUInt32(mObjectID /* File handle */);
-    paParms[i++].setUInt32(eSeekType /* Seek method */);
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetU32(&paParms[i++], mObjectID /* File handle */);
+    HGCMSvcSetU32(&paParms[i++], eSeekType /* Seek method */);
     /** @todo uint64_t vs. int64_t! */
-    paParms[i++].setUInt64((uint64_t)iOffset /* Offset (in bytes) to start reading */);
+    HGCMSvcSetU64(&paParms[i++], (uint64_t)iOffset /* Offset (in bytes) to start reading */);
 
     alock.release(); /* Drop write lock before sending. */
@@ -1159,8 +1160,8 @@
     VBOXHGCMSVCPARM paParms[8];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setUInt32(mObjectID /* File handle */);
-    paParms[i++].setUInt32(cbData /* Size (in bytes) to write */);
-    paParms[i++].setPointer(pvData, cbData);
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetU32(&paParms[i++], mObjectID /* File handle */);
+    HGCMSvcSetU32(&paParms[i++], cbData /* Size (in bytes) to write */);
+    HGCMSvcSetPv(&paParms[i++], pvData, cbData);
 
     alock.release(); /* Drop write lock before sending. */
@@ -1222,9 +1223,9 @@
     VBOXHGCMSVCPARM paParms[8];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setUInt32(mObjectID /* File handle */);
-    paParms[i++].setUInt64(uOffset /* Offset where to starting writing */);
-    paParms[i++].setUInt32(cbData /* Size (in bytes) to write */);
-    paParms[i++].setPointer(pvData, cbData);
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetU32(&paParms[i++], mObjectID /* File handle */);
+    HGCMSvcSetU64(&paParms[i++], uOffset /* Offset where to starting writing */);
+    HGCMSvcSetU32(&paParms[i++], cbData /* Size (in bytes) to write */);
+    HGCMSvcSetPv(&paParms[i++], pvData, cbData);
 
     alock.release(); /* Drop write lock before sending. */
Index: trunk/src/VBox/Main/src-client/GuestProcessImpl.cpp
===================================================================
--- trunk/src/VBox/Main/src-client/GuestProcessImpl.cpp	(revision 75700)
+++ trunk/src/VBox/Main/src-client/GuestProcessImpl.cpp	(revision 75737)
@@ -610,11 +610,11 @@
     CALLBACKDATA_PROC_INPUT dataCb;
     /* pSvcCb->mpaParms[0] always contains the context ID. */
-    int vrc = pSvcCbData->mpaParms[1].getUInt32(&dataCb.uPID);
+    int vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[1], &dataCb.uPID);
     AssertRCReturn(vrc, vrc);
-    vrc = pSvcCbData->mpaParms[2].getUInt32(&dataCb.uStatus);
+    vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[2], &dataCb.uStatus);
     AssertRCReturn(vrc, vrc);
-    vrc = pSvcCbData->mpaParms[3].getUInt32(&dataCb.uFlags);
+    vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[3], &dataCb.uFlags);
     AssertRCReturn(vrc, vrc);
-    vrc = pSvcCbData->mpaParms[4].getUInt32(&dataCb.uProcessed);
+    vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[4], &dataCb.uProcessed);
     AssertRCReturn(vrc, vrc);
 
@@ -684,11 +684,11 @@
     CALLBACKDATA_PROC_STATUS dataCb;
     /* pSvcCb->mpaParms[0] always contains the context ID. */
-    int vrc = pSvcCbData->mpaParms[1].getUInt32(&dataCb.uPID);
+    int vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[1], &dataCb.uPID);
     AssertRCReturn(vrc, vrc);
-    vrc = pSvcCbData->mpaParms[2].getUInt32(&dataCb.uStatus);
+    vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[2], &dataCb.uStatus);
     AssertRCReturn(vrc, vrc);
-    vrc = pSvcCbData->mpaParms[3].getUInt32(&dataCb.uFlags);
+    vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[3], &dataCb.uFlags);
     AssertRCReturn(vrc, vrc);
-    vrc = pSvcCbData->mpaParms[4].getPointer(&dataCb.pvData, &dataCb.cbData);
+    vrc = HGCMSvcGetPv(&pSvcCbData->mpaParms[4], &dataCb.pvData, &dataCb.cbData);
     AssertRCReturn(vrc, vrc);
 
@@ -794,11 +794,11 @@
     CALLBACKDATA_PROC_OUTPUT dataCb;
     /* pSvcCb->mpaParms[0] always contains the context ID. */
-    int vrc = pSvcCbData->mpaParms[1].getUInt32(&dataCb.uPID);
+    int vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[1], &dataCb.uPID);
     AssertRCReturn(vrc, vrc);
-    vrc = pSvcCbData->mpaParms[2].getUInt32(&dataCb.uHandle);
+    vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[2], &dataCb.uHandle);
     AssertRCReturn(vrc, vrc);
-    vrc = pSvcCbData->mpaParms[3].getUInt32(&dataCb.uFlags);
+    vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[3], &dataCb.uFlags);
     AssertRCReturn(vrc, vrc);
-    vrc = pSvcCbData->mpaParms[4].getPointer(&dataCb.pvData, &dataCb.cbData);
+    vrc = HGCMSvcGetPv(&pSvcCbData->mpaParms[4], &dataCb.pvData, &dataCb.cbData);
     AssertRCReturn(vrc, vrc);
 
@@ -909,8 +909,8 @@
         VBOXHGCMSVCPARM paParms[8];
         int i = 0;
-        paParms[i++].setUInt32(pEvent->ContextID());
-        paParms[i++].setUInt32(mData.mPID);
-        paParms[i++].setUInt32(uHandle);
-        paParms[i++].setUInt32(0 /* Flags, none set yet. */);
+        HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+        HGCMSvcSetU32(&paParms[i++], mData.mPID);
+        HGCMSvcSetU32(&paParms[i++], uHandle);
+        HGCMSvcSetU32(&paParms[i++], 0 /* Flags, none set yet. */);
 
         alock.release(); /* Drop the write lock before sending. */
@@ -1094,12 +1094,12 @@
         VBOXHGCMSVCPARM paParms[16];
         int i = 0;
-        paParms[i++].setUInt32(pEvent->ContextID());
-        paParms[i++].setCppString(mData.mProcess.mExecutable);
-        paParms[i++].setUInt32(mData.mProcess.mFlags);
-        paParms[i++].setUInt32((uint32_t)mData.mProcess.mArguments.size());
-        paParms[i++].setPointer(pszArgs, (uint32_t)cbArgs);
-        paParms[i++].setUInt32(mData.mProcess.mEnvironmentChanges.count());
-        paParms[i++].setUInt32((uint32_t)cbEnvBlock);
-        paParms[i++].setPointer(pszzEnvBlock, (uint32_t)cbEnvBlock);
+        HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+        HGCMSvcSetRTCStr(&paParms[i++], mData.mProcess.mExecutable);
+        HGCMSvcSetU32(&paParms[i++], mData.mProcess.mFlags);
+        HGCMSvcSetU32(&paParms[i++], (uint32_t)mData.mProcess.mArguments.size());
+        HGCMSvcSetPv(&paParms[i++], pszArgs, (uint32_t)cbArgs);
+        HGCMSvcSetU32(&paParms[i++], mData.mProcess.mEnvironmentChanges.count());
+        HGCMSvcSetU32(&paParms[i++], (uint32_t)cbEnvBlock);
+        HGCMSvcSetPv(&paParms[i++], pszzEnvBlock, (uint32_t)cbEnvBlock);
         if (uProtocol < 2)
         {
@@ -1107,6 +1107,6 @@
              * call. In newer protocols these credentials are part of the opened guest
              * session, so not needed anymore here. */
-            paParms[i++].setCppString(sessionCreds.mUser);
-            paParms[i++].setCppString(sessionCreds.mPassword);
+            HGCMSvcSetRTCStr(&paParms[i++], sessionCreds.mUser);
+            HGCMSvcSetRTCStr(&paParms[i++], sessionCreds.mPassword);
         }
         /*
@@ -1117,15 +1117,15 @@
          */
         if (mData.mProcess.mFlags & ProcessCreateFlag_WaitForProcessStartOnly)
-            paParms[i++].setUInt32(UINT32_MAX /* Infinite timeout */);
+            HGCMSvcSetU32(&paParms[i++], UINT32_MAX /* Infinite timeout */);
         else
-            paParms[i++].setUInt32(mData.mProcess.mTimeoutMS);
+            HGCMSvcSetU32(&paParms[i++], mData.mProcess.mTimeoutMS);
         if (uProtocol >= 2)
         {
-            paParms[i++].setUInt32(mData.mProcess.mPriority);
+            HGCMSvcSetU32(&paParms[i++], mData.mProcess.mPriority);
             /* CPU affinity: We only support one CPU affinity block at the moment,
              * so that makes up to 64 CPUs total. This can be more in the future. */
-            paParms[i++].setUInt32(1);
+            HGCMSvcSetU32(&paParms[i++], 1);
             /* The actual CPU affinity blocks. */
-            paParms[i++].setPointer((void *)&mData.mProcess.mAffinity, sizeof(mData.mProcess.mAffinity));
+            HGCMSvcSetPv(&paParms[i++], (void *)&mData.mProcess.mAffinity, sizeof(mData.mProcess.mAffinity));
         }
 
@@ -1246,6 +1246,6 @@
             VBOXHGCMSVCPARM paParms[4];
             int i = 0;
-            paParms[i++].setUInt32(pEvent->ContextID());
-            paParms[i++].setUInt32(mData.mPID);
+            HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+            HGCMSvcSetU32(&paParms[i++], mData.mPID);
 
             alock.release(); /* Drop the write lock before sending. */
@@ -1724,9 +1724,9 @@
     VBOXHGCMSVCPARM paParms[5];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setUInt32(mData.mPID);
-    paParms[i++].setUInt32(uFlags);
-    paParms[i++].setPointer(pvData, (uint32_t)cbData);
-    paParms[i++].setUInt32((uint32_t)cbData);
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetU32(&paParms[i++], mData.mPID);
+    HGCMSvcSetU32(&paParms[i++], uFlags);
+    HGCMSvcSetPv(&paParms[i++], pvData, (uint32_t)cbData);
+    HGCMSvcSetU32(&paParms[i++], (uint32_t)cbData);
 
     alock.release(); /* Drop the write lock before sending. */
Index: trunk/src/VBox/Main/src-client/GuestSessionImpl.cpp
===================================================================
--- trunk/src/VBox/Main/src-client/GuestSessionImpl.cpp	(revision 75700)
+++ trunk/src/VBox/Main/src-client/GuestSessionImpl.cpp	(revision 75737)
@@ -713,6 +713,6 @@
     VBOXHGCMSVCPARM paParms[4];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setUInt32(uFlags);
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetU32(&paParms[i++], uFlags);
 
     alock.release(); /* Drop the write lock before waiting. */
@@ -1066,8 +1066,8 @@
     VBOXHGCMSVCPARM paParms[8];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setPointer((void*)strPath.c_str(),
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetPv(&paParms[i++], (void*)strPath.c_str(),
                             (ULONG)strPath.length() + 1);
-    paParms[i++].setUInt32(uFlags);
+    HGCMSvcSetU32(&paParms[i++], uFlags);
 
     alock.release(); /* Drop write lock before sending. */
@@ -1782,7 +1782,7 @@
     CALLBACKDATA_SESSION_NOTIFY dataCb;
     /* pSvcCb->mpaParms[0] always contains the context ID. */
-    int vrc = pSvcCbData->mpaParms[1].getUInt32(&dataCb.uType);
+    int vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[1], &dataCb.uType);
     AssertRCReturn(vrc, vrc);
-    vrc = pSvcCbData->mpaParms[2].getUInt32(&dataCb.uResult);
+    vrc = HGCMSvcGetU32(&pSvcCbData->mpaParms[2], &dataCb.uResult);
     AssertRCReturn(vrc, vrc);
 
@@ -1934,13 +1934,13 @@
 
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setUInt32(mData.mProtocolVersion);
-    paParms[i++].setPointer((void*)mData.mCredentials.mUser.c_str(),
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetU32(&paParms[i++], mData.mProtocolVersion);
+    HGCMSvcSetPv(&paParms[i++], (void*)mData.mCredentials.mUser.c_str(),
                             (ULONG)mData.mCredentials.mUser.length() + 1);
-    paParms[i++].setPointer((void*)mData.mCredentials.mPassword.c_str(),
+    HGCMSvcSetPv(&paParms[i++], (void*)mData.mCredentials.mPassword.c_str(),
                             (ULONG)mData.mCredentials.mPassword.length() + 1);
-    paParms[i++].setPointer((void*)mData.mCredentials.mDomain.c_str(),
+    HGCMSvcSetPv(&paParms[i++], (void*)mData.mCredentials.mDomain.c_str(),
                             (ULONG)mData.mCredentials.mDomain.length() + 1);
-    paParms[i++].setUInt32(mData.mSession.mOpenFlags);
+    HGCMSvcSetU32(&paParms[i++], mData.mSession.mOpenFlags);
 
     alock.release(); /* Drop write lock before sending. */
@@ -2144,10 +2144,10 @@
     VBOXHGCMSVCPARM paParms[8];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
-    paParms[i++].setPointer((void*)strSource.c_str(),
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
+    HGCMSvcSetPv(&paParms[i++], (void*)strSource.c_str(),
                             (ULONG)strSource.length() + 1);
-    paParms[i++].setPointer((void*)strDest.c_str(),
+    HGCMSvcSetPv(&paParms[i++], (void*)strDest.c_str(),
                             (ULONG)strDest.length() + 1);
-    paParms[i++].setUInt32(uFlags);
+    HGCMSvcSetU32(&paParms[i++], uFlags);
 
     alock.release(); /* Drop write lock before sending. */
@@ -2190,5 +2190,5 @@
     VBOXHGCMSVCPARM paParms[2];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
 
     alock.release(); /* Drop write lock before sending. */
@@ -2240,5 +2240,5 @@
     VBOXHGCMSVCPARM paParms[2];
     int i = 0;
-    paParms[i++].setUInt32(pEvent->ContextID());
+    HGCMSvcSetU32(&paParms[i++], pEvent->ContextID());
 
     alock.release(); /* Drop write lock before sending. */
