Здравствуйте! Есть следующий код в драйвере-фильтре мыши под Win XP VOID MouFilter_ServiceCallback( IN PDEVICE_OBJECT DeviceObject, IN PMOUSE_INPUT_DATA InputDataStart, IN PMOUSE_INPUT_DATA InputDataEnd, IN OUT PULONG InputDataConsumed ) PDEVICE_EXTENSION devExt; PMOUSE_INPUT_DATA pCursor; LONG temp; DbgPrint("MouFilter_ServiceCallback() called for UnitId %hu\n", InputDataStart->UnitId); devExt = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension; for (pCursor = InputDataStart; pCursor < InputDataEnd; pCursor++) { pCursor->LastX = LastY = 0; DbgPrint("Mouse moved X = %li and Y = %li\n", pCursor->LastX, pCursor->LastY); } (*(PSERVICE_CALLBACK_ROUTINE) devExt->UpperConnectData.ClassService)( devExt->UpperConnectData.ClassDeviceObject, InputDataStart, InputDataEnd, InputDataConsumed ); } сюда мы точно попадаем, драйвер компилится и устанавливается. все DBG выводятся. Но мышка как двигалась так и двигается. если например забанить правую кнопку pCursor->ButtonFlags &= MOUSE_RIGHT_BUTTON_DOWN pCursor->ButtonFlags &= MOUSE_RIGHT_BUTTON_UP то все отлично работает, но вот никакие действия на координаты не влияют( Вопрос: 1. Так и должно быть изменения LastX и LastY не влияют на положение курсора, по ним можно только определить его положение но не изменять? (бредовая версия) 2. Следует из положительного ответа на 1. Как в драйвере запретить перемещение курсора (инвертировать и т.д.) 3. Либо я просто где-то допустил ошибку(в этом участке кода или в дургом...)? а тестирую все это дело на virtualBox, если это может влиять.