Hello,
In a WDM driver, I get an array of pointers to user-space buffers through a ioctl call and lock them down calling IoAllocateMdl, and MmProbeAndLockPages on each buffer address.
The problem is that I can’t do that for more than 64 buffers, When I call MmProbeAndLockPages the 65th time I get a STATUS_ACCESS_VIOLATION exception.
This is under Windows 2000Sp1 and happen for any buffer size.
Is it a hard coded limitation ?
Thanks for any help
Frederic Villeneuve
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
The problem is that I can’t do that for more than 64 buffers, When I call
MmProbeAndLockPages the 65th > time I get a STATUS_ACCESS_VIOLATION
exception.
Is it a hard coded limitation ?
Not to the best of my knowledge. The only time you get back
STATUS_ACCESS_VIOLATION is if the access mode is KernelMode and the buffer
isn’t in user space (or it’s plain invalid). Or if there IS an access
violation.
I’d look carefully at the buffer parameters… it sounds to me like you’ve
got a bug, not a system limitation.
Peter
OSR
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com