Index: /trunk/include/VBox/HostServices/DragAndDropSvc.h
===================================================================
--- /trunk/include/VBox/HostServices/DragAndDropSvc.h	(revision 58230)
+++ /trunk/include/VBox/HostServices/DragAndDropSvc.h	(revision 58231)
@@ -721,22 +721,26 @@
 #pragma pack()
 
+/** Builds a callback magic out of the function ID and the version
+ *  of the callback data. */
+#define VBOX_DND_CB_MAGIC_MAKE(uFn, uVer) \
+    RT_MAKE_U32(uVer, uFn)
+
 /*
- * Callback data magics.
- */
-enum
-{
-    CB_MAGIC_DND_CONNECT                   = 0x25161155,
-    CB_MAGIC_DND_HG_GET_NEXT_HOST_MSG      = 0x19820126,
-    CB_MAGIC_DND_HG_GET_NEXT_HOST_MSG_DATA = 0x19850630,
-    CB_MAGIC_DND_HG_ACK_OP                 = 0xe2100b93,
-    CB_MAGIC_DND_HG_REQ_DATA               = 0x5cb3faf9,
-    CB_MAGIC_DND_HG_EVT_PROGRESS           = 0x8c8a6956,
-    CB_MAGIC_DND_GH_ACK_PENDING            = 0xbe975a14,
-    CB_MAGIC_DND_GH_SND_DATA               = 0x4eb61bff,
-    CB_MAGIC_DND_GH_SND_DATA_HDR           = 0x4631ee4f,
-    CB_MAGIC_DND_GH_SND_DIR                = 0x411ca754,
-    CB_MAGIC_DND_GH_SND_FILE_HDR           = 0x65e35eaf,
-    CB_MAGIC_DND_GH_SND_FILE_DATA          = 0x19840804,
-    CB_MAGIC_DND_GH_EVT_ERROR              = 0x117a87c4
+ * Callback magics.
+ */
+enum eDnDCallbackMagics
+{
+    CB_MAGIC_DND_CONNECT                   = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_CONNECT, 0),
+    CB_MAGIC_DND_HG_GET_NEXT_HOST_MSG      = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_GET_NEXT_HOST_MSG, 0),
+    CB_MAGIC_DND_HG_ACK_OP                 = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_HG_ACK_OP, 0),
+    CB_MAGIC_DND_HG_REQ_DATA               = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_HG_REQ_DATA, 0),
+    CB_MAGIC_DND_HG_EVT_PROGRESS           = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_HG_EVT_PROGRESS, 0),
+    CB_MAGIC_DND_GH_ACK_PENDING            = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_GH_ACK_PENDING, 0),
+    CB_MAGIC_DND_GH_SND_DATA               = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_GH_SND_DATA, 0),
+    CB_MAGIC_DND_GH_SND_DATA_HDR           = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_GH_SND_DATA_HDR, 0),
+    CB_MAGIC_DND_GH_SND_DIR                = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_GH_SND_DIR, 0),
+    CB_MAGIC_DND_GH_SND_FILE_HDR           = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_GH_SND_FILE_HDR, 0),
+    CB_MAGIC_DND_GH_SND_FILE_DATA          = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_GH_SND_FILE_DATA, 0),
+    CB_MAGIC_DND_GH_EVT_ERROR              = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_GH_EVT_ERROR, 0)
 };
 
Index: /trunk/src/VBox/HostServices/DragAndDrop/service.cpp
===================================================================
--- /trunk/src/VBox/HostServices/DragAndDrop/service.cpp	(revision 58230)
+++ /trunk/src/VBox/HostServices/DragAndDrop/service.cpp	(revision 58231)
@@ -679,5 +679,5 @@
                     {
                         VBOXDNDCBHGGETNEXTHOSTMSGDATA data;
-                        data.hdr.u32Magic = CB_MAGIC_DND_HG_GET_NEXT_HOST_MSG_DATA;
+                        data.hdr.u32Magic = VBOX_DND_CB_MAGIC_MAKE(0 /* uFn */, 0 /* uVer */);
                         data.uMsg    = u32Function;
                         data.cParms  = cParms;
Index: /trunk/src/VBox/Main/src-client/GuestDnDTargetImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/GuestDnDTargetImpl.cpp	(revision 58230)
+++ /trunk/src/VBox/Main/src-client/GuestDnDTargetImpl.cpp	(revision 58231)
@@ -1124,5 +1124,4 @@
             AssertPtr(pCBData);
             AssertReturn(sizeof(VBOXDNDCBHGGETNEXTHOSTMSGDATA) == cbParms, VERR_INVALID_PARAMETER);
-            AssertReturn(CB_MAGIC_DND_HG_GET_NEXT_HOST_MSG_DATA == pCBData->hdr.u32Magic, VERR_INVALID_PARAMETER);
 
             LogFlowFunc(("pCBData->uMsg=%RU32, paParms=%p, cParms=%RU32\n", pCBData->uMsg, pCBData->paParms, pCBData->cParms));
