[ros-diffs] [dchapyshev] 41197: - Implement IOCTL_MOUSE_QUERY_ATTRIBUTES (untested)

dchapyshev at svn.reactos.org dchapyshev at svn.reactos.org
Fri May 29 18:36:40 CEST 2009


Author: dchapyshev
Date: Fri May 29 20:36:39 2009
New Revision: 41197

URL: http://svn.reactos.org/svn/reactos?rev=41197&view=rev
Log:
- Implement IOCTL_MOUSE_QUERY_ATTRIBUTES (untested)

Modified:
    trunk/reactos/drivers/input/i8042prt/mouse.c

Modified: trunk/reactos/drivers/input/i8042prt/mouse.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/i8042prt/mouse.c?rev=41197&r1=41196&r2=41197&view=diff
==============================================================================
--- trunk/reactos/drivers/input/i8042prt/mouse.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/input/i8042prt/mouse.c [iso-8859-1] Fri May 29 20:36:39 2009
@@ -512,8 +512,16 @@
 		}
 		case IOCTL_MOUSE_QUERY_ATTRIBUTES:
 		{
-			DPRINT1("IOCTL_MOUSE_QUERY_ATTRIBUTES not implemented\n");
-			Status = STATUS_NOT_IMPLEMENTED;
+			TRACE_(I8042PRT, "IRP_MJ_INTERNAL_DEVICE_CONTROL / IOCTL_MOUSE_QUERY_ATTRIBUTES\n");
+			if (Stack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(MOUSE_ATTRIBUTES))
+			{
+				Status = STATUS_BUFFER_TOO_SMALL;
+				break;
+			}
+
+			*(PMOUSE_ATTRIBUTES) Irp->AssociatedIrp.SystemBuffer = DeviceExtension->MouseAttributes;
+			Irp->IoStatus.Information = sizeof(MOUSE_ATTRIBUTES);
+			Status = STATUS_SUCCESS;
 			break;
 		}
 		default:



More information about the Ros-diffs mailing list