Index: /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp	(revision 43721)
+++ /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp	(revision 43722)
@@ -804,4 +804,6 @@
                     Status = STATUS_INVALID_PARAMETER;
                 }
+                else if (vrc == VERR_OUT_OF_RANGE)
+                    Status = STATUS_INVALID_BUFFER_SIZE;
                 else
                     Status = STATUS_UNSUCCESSFUL;
Index: /trunk/src/VBox/Additions/common/VBoxGuestLib/SysHlp.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxGuestLib/SysHlp.cpp	(revision 43721)
+++ /trunk/src/VBox/Additions/common/VBoxGuestLib/SysHlp.cpp	(revision 43722)
@@ -310,5 +310,11 @@
         Log(("vbglDriverIOCtl: ntstatus=%x\n", rc));
 
-    return NT_SUCCESS(rc)? VINF_SUCCESS: VERR_VBGL_IOCTL_FAILED;
+    if (NT_SUCCESS(rc))
+        return VINF_SUCCESS;
+    if (rc == STATUS_INVALID_PARAMETER)
+        return VERR_INVALID_PARAMETER;
+    if (rc == STATUS_INVALID_BUFFER_SIZE)
+        return VERR_OUT_OF_RANGE;
+    return VERR_VBGL_IOCTL_FAILED;
 
 # elif defined (RT_OS_OS2)
