Changeset 37226 in vbox for trunk/src/VBox/Additions/common/VBoxGuest
- Timestamp:
- May 26, 2011 5:06:02 PM (14 years ago)
- Location:
- trunk/src/VBox/Additions/common/VBoxGuest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp
r37221 r37226 810 810 switch (uCmd) 811 811 { 812 case VBOXGUEST_IOCTL_INTERNAL_SET_MOUSE_NOTIFY_ EVENT:812 case VBOXGUEST_IOCTL_INTERNAL_SET_MOUSE_NOTIFY_CALLBACK: 813 813 { 814 814 PVOID pvBuf = pStack->Parameters.Others.Argument1; 815 815 size_t cbData = (size_t)pStack->Parameters.Others.Argument2; 816 816 fProcessed = true; 817 if (cbData != sizeof (PKEVENT))817 if (cbData != sizeof(VBoxGuestMouseSetNotifyCallback)) 818 818 { 819 819 AssertFailed(); … … 823 823 824 824 KIRQL OldIrql; 825 VBoxGuestMouseSetNotifyCallback *pInfo = (VBoxGuestMouseSetNotifyCallback*)pvBuf; 825 826 /* we need a lock here to avoid concurrency with the set event functionality */ 826 827 KeAcquireSpinLock(&pDevExt->win.s.MouseEventAccessLock, &OldIrql); 827 pDevExt->win.s.pMouseEvent = (PKEVENT)pvBuf; 828 pDevExt->win.s.pfnMouseNotify = pInfo->pfnNotify; 829 pDevExt->win.s.pvMouseNotify = pInfo->pvNotify; 828 830 KeReleaseSpinLock(&pDevExt->win.s.MouseEventAccessLock, OldIrql); 829 831 … … 940 942 * i.e. to prevent the event from destroyed while we're using it */ 941 943 KeAcquireSpinLockAtDpcLevel(&pDevExt->win.s.MouseEventAccessLock); 942 PKEVENT pEvent = pDevExt->win.s.pMouseEvent; 943 if (pEvent) 944 { 945 KeSetEvent(pEvent, 0, FALSE); 944 if (pDevExt->win.s.pfnMouseNotify) 945 { 946 pDevExt->win.s.pfnMouseNotify(pDevExt->win.s.pvMouseNotify); 946 947 } 947 948 KeReleaseSpinLockFromDpcLevel(&pDevExt->win.s.MouseEventAccessLock); -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.h
r37221 r37226 119 119 120 120 KSPIN_LOCK MouseEventAccessLock; 121 /* event to be signalled on mouse event arrival from host */122 PKEVENT pMouseEvent;121 PFNVBOXMOUSENOTIFYCB pfnMouseNotify; 122 void *pvMouseNotify; 123 123 } VBOXGUESTDEVEXTWIN, *PVBOXGUESTDEVEXTWIN; 124 124
Note:
See TracChangeset
for help on using the changeset viewer.