call wcsstr from a driver without page faulting
Posted on 2007-10-14
I'm using the 6001 build of the Microsoft WDK to build a filesystem minifilter driver. I'm playing around with some sample code and called wcsstr in a pre-op processing function for IRP_MJ_CREATE, only to find that it blue screened with PAGE FAULT IN A NONPAGED AREA.
Since I'm new to driver development, I'd like someone to help me understand what's going on. My vague understanding of what's happening is that the IRQ level that the filesystem driver is operating at is higher than the paging IRQ level - so that I cannot call anything that requires service from the paging system. Is this more or less correct?
So, I guess the code for wcsstr is not loaded into nonpaged memory. What's the best way to do this call? Somehow load it into nonpaged memory? Implement it myself without using the wcsstr call? Call a special version that I'm unaware of?
Thanks for any info.