Changeset 41643 in vbox
- Timestamp:
- Jun 11, 2012 10:43:28 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 78443
- Location:
- trunk/src/VBox/Additions/common/VBoxGuest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp
r41642 r41643 962 962 * @param pContext Context specific pointer. 963 963 */ 964 void vboxguestwinDpcHandler(PKDPC pDPC, PDEVICE_OBJECT pDevObj, 965 PIRP pIrp, PVOID pContext) 964 void vboxguestwinDpcHandler(PKDPC pDPC, PDEVICE_OBJECT pDevObj, PIRP pIrp, PVOID pContext) 966 965 { 967 966 PVBOXGUESTDEVEXT pDevExt = (PVBOXGUESTDEVEXT)pDevObj->DeviceExtension; … … 971 970 if (ASMAtomicXchgU32(&pDevExt->u32MousePosChangedSeq, 0)) 972 971 { 973 Assert(KeGetCurrentIrql() == DISPATCH_LEVEL);974 972 /* we need a lock here to avoid concurrency with the set event ioctl handler thread, 975 973 * i.e. to prevent the event from destroyed while we're using it */ 974 Assert(KeGetCurrentIrql() == DISPATCH_LEVEL); 976 975 KeAcquireSpinLockAtDpcLevel(&pDevExt->win.s.MouseEventAccessLock); 977 if (pDevExt->win.s.pfnMouseNotify) 978 {979 pDevExt-> win.s.pfnMouseNotify(pDevExt->win.s.pvMouseNotify);980 } 976 977 if (pDevExt->MouseNotifyCallback.pfnNotify) 978 pDevExt->MouseNotifyCallback.pfnNotify(pDevExt->MouseNotifyCallback.pvUser); 979 981 980 KeReleaseSpinLockFromDpcLevel(&pDevExt->win.s.MouseEventAccessLock); 982 981 } 983 982 984 983 /* Process the wake-up list we were asked by the scheduling a DPC 985 * 984 * in vboxguestwinIsrHandler(). */ 986 985 VBoxGuestWaitDoWakeUps(pDevExt); 987 986 } -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.h
r38760 r41643 117 117 PVBOXGUESTSESSION pKernelSession; 118 118 119 119 /** Spinlock protecting MouseNotifyCallback. Required since the consumer is 120 * in a DPC callback and not the ISR. */ 120 121 KSPIN_LOCK MouseEventAccessLock; 121 PFNVBOXMOUSENOTIFYCB pfnMouseNotify;122 void *pvMouseNotify;123 122 } VBOXGUESTDEVEXTWIN, *PVBOXGUESTDEVEXTWIN; 124 123
Note:
See TracChangeset
for help on using the changeset viewer.