Index: trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDnD.cpp
===================================================================
--- trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDnD.cpp	(revision 58157)
+++ trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDnD.cpp	(revision 58212)
@@ -22,4 +22,6 @@
 #include <VBox/VBoxGuestLib.h>
 #include "VBox/HostServices/DragAndDropSvc.h"
+
+using namespace DragAndDropSvc;
 
 #include <iprt/asm.h>
@@ -520,5 +522,5 @@
             switch (pEvent->Event.uType)
             {
-                case DragAndDropSvc::HOST_DND_HG_EVT_ENTER:
+                case HOST_DND_HG_EVT_ENTER:
                 {
                     LogFlowThisFunc(("HOST_DND_HG_EVT_ENTER\n"));
@@ -540,5 +542,5 @@
                 }
 
-                case DragAndDropSvc::HOST_DND_HG_EVT_MOVE:
+                case HOST_DND_HG_EVT_MOVE:
                 {
                     LogFlowThisFunc(("HOST_DND_HG_EVT_MOVE: %d,%d\n",
@@ -550,5 +552,5 @@
                 }
 
-                case DragAndDropSvc::HOST_DND_HG_EVT_LEAVE:
+                case HOST_DND_HG_EVT_LEAVE:
                 {
                     LogFlowThisFunc(("HOST_DND_HG_EVT_LEAVE\n"));
@@ -558,5 +560,5 @@
                 }
 
-                case DragAndDropSvc::HOST_DND_HG_EVT_DROPPED:
+                case HOST_DND_HG_EVT_DROPPED:
                 {
                     LogFlowThisFunc(("HOST_DND_HG_EVT_DROPPED\n"));
@@ -566,5 +568,8 @@
                 }
 
-                case DragAndDropSvc::HOST_DND_HG_SND_DATA:
+                case HOST_DND_HG_SND_DATA:
+                    /* Protocol v1 + v2: Also contains the header data.
+                    /* Note: Fall through is intentional. */
+                case HOST_DND_HG_SND_DATA_HDR:
                 {
                     LogFlowThisFunc(("HOST_DND_HG_SND_DATA\n"));
@@ -575,5 +580,5 @@
                 }
 
-                case DragAndDropSvc::HOST_DND_HG_EVT_CANCEL:
+                case HOST_DND_HG_EVT_CANCEL:
                 {
                     LogFlowThisFunc(("HOST_DND_HG_EVT_CANCEL\n"));
@@ -583,5 +588,5 @@
                 }
 
-                case DragAndDropSvc::HOST_DND_GH_REQ_PENDING:
+                case HOST_DND_GH_REQ_PENDING:
                 {
                     LogFlowThisFunc(("HOST_DND_GH_REQ_PENDING\n"));
@@ -595,5 +600,5 @@
                 }
 
-                case DragAndDropSvc::HOST_DND_GH_EVT_DROPPED:
+                case HOST_DND_GH_EVT_DROPPED:
                 {
                     LogFlowThisFunc(("HOST_DND_GH_EVT_DROPPED\n"));
@@ -616,9 +621,9 @@
             switch (pEvent->Event.uType)
             {
-                case DragAndDropSvc::HOST_DND_HG_EVT_ENTER:
-                case DragAndDropSvc::HOST_DND_HG_EVT_MOVE:
-                case DragAndDropSvc::HOST_DND_HG_EVT_DROPPED:
+                case HOST_DND_HG_EVT_ENTER:
+                case HOST_DND_HG_EVT_MOVE:
+                case HOST_DND_HG_EVT_DROPPED:
 #ifdef VBOX_WITH_DRAG_AND_DROP_GH
-                case DragAndDropSvc::HOST_DND_GH_EVT_DROPPED:
+                case HOST_DND_GH_EVT_DROPPED:
 #endif
                 {
@@ -628,5 +633,6 @@
                 }
 
-                case DragAndDropSvc::HOST_DND_HG_SND_DATA:
+                case HOST_DND_HG_SND_DATA:
+                case HOST_DND_HG_SND_DATA_HDR:
                 {
                     if (pEvent->Event.pszFormats)
@@ -945,5 +951,5 @@
     if (RT_SUCCESS(rc))
     {
-        rc = VbglR3DnDHGAcknowledgeOperation(&mDnDCtx, uActionNotify);
+        rc = VbglR3DnDHGSendAckOp(&mDnDCtx, uActionNotify);
         if (RT_FAILURE(rc))
             LogFlowThisFunc(("Acknowledging operation failed with rc=%Rrc\n", rc));
@@ -1015,5 +1021,5 @@
             {
                 LogRel(("DnD: Requesting data as '%s' ...\n", mFormatRequested.c_str()));
-                rc = VbglR3DnDHGRequestData(&mDnDCtx, mFormatRequested.c_str());
+                rc = VbglR3DnDHGSendReqData(&mDnDCtx, mFormatRequested.c_str());
                 if (RT_FAILURE(rc))
                     LogFlowThisFunc(("Requesting data failed with rc=%Rrc\n", rc));
@@ -1215,6 +1221,7 @@
         uAllActions = uDefAction;
 
-        rc = VbglR3DnDGHAcknowledgePending(&mDnDCtx,
-                                           uDefAction, uAllActions, strFormats.c_str());
+        rc = VbglR3DnDGHSendAckPending(&mDnDCtx,
+                                       uDefAction, uAllActions,
+                                       strFormats.c_str(), strFormats.length() + 1 /* Include termination */);
         if (RT_FAILURE(rc))
         {
@@ -1761,7 +1768,6 @@
         /* Note: pEvent will be free'd by the consumer later. */
 
-        rc = VbglR3DnDProcessNextMessage(&pCtx->cmdCtx, &pEvent->Event);
-        LogFlowFunc(("VbglR3DnDProcessNextMessage returned uType=%RU32, rc=%Rrc\n",
-                     pEvent->Event.uType, rc));
+        rc = VbglR3DnDRecvNextMsg(&pCtx->cmdCtx, &pEvent->Event);
+        LogFlowFunc(("VbglR3DnDRecvNextMsg: uType=%RU32, rc=%Rrc\n", pEvent->Event.uType, rc));
 
         if (   RT_SUCCESS(rc)
