Index: /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/xpdm/VBoxMPDriver.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/xpdm/VBoxMPDriver.cpp	(revision 41043)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/xpdm/VBoxMPDriver.cpp	(revision 41044)
@@ -20,4 +20,5 @@
 #include <VBox/Hardware/VBoxVideoVBE.h>
 #include <VBox/VBoxGuestLib.h>
+#include <VBox/VBoxVideo.h>
 #include "common/VBoxMPHGSMI.h"
 #include "common/VBoxMPCommon.h"
@@ -401,7 +402,26 @@
             STARTIO_IN(ULONG, pAttach);
 
+            LOGF(("IOCTL_VIDEO_SWITCH_DUALVIEW: [%d] attach = %d", pExt->iDevice, *pAttach));
+
             if (pExt->iDevice>0)
             {
                 pExt->u.secondary.bEnabled = (BOOLEAN)(*pAttach);
+
+                /* Inform the host.
+                 * Currently only about secondary devices, because the driver does not support
+                 * disconnecting the primary display (it does not allow to change the primary display).
+                 */
+                if (!pExt->u.secondary.bEnabled)
+                {
+                    PVBOXMP_COMMON pCommon = VBoxCommonFromDeviceExt(pExt);
+                    if (pCommon->bHGSMI)
+                    {
+                        VBoxHGSMIProcessDisplayInfo(&pCommon->guestCtx, pExt->iDevice,
+                                                    /* cOriginX = */ 0, /* cOriginY = */ 0,
+                                                    /* offStart = */ 0, /* cbPitch = */ 0,
+                                                    /* cWidth = */ 0, /* cHeight = */ 0, /* cBPP = */ 0,
+                                                    VBVA_SCREEN_F_ACTIVE | VBVA_SCREEN_F_DISABLED);
+                    }
+                }
             }
 
@@ -415,4 +435,6 @@
             STARTIO_IN(ULONG, pChildIndex);
             STARTIO_OUT(ULONG, pChildState);
+
+            LOGF(("IOCTL_VIDEO_GET_CHILD_STATE: [%d] idx = %d", pExt->iDevice, *pChildIndex));
 
             if (*pChildIndex>0 && *pChildIndex<=(ULONG)VBoxCommonFromDeviceExt(pExt)->cDisplays)
