Ok, I inherited a basic Windows USB driver that handles pushing data across a\ncouple of bulk pipes. This driver works fine under Win2K, but eventually\ncrashes XP/SP2 with a page fault error...\n\nNow, this driver takes a large user buffer and chops it up into nice\nUSB-able sized blocks. It allocates a MDL and then re-uses it over and over\nagain, freeing it once the entire transfer has been shoved across the bulk\npipe. Never does it try to MmProbeAndLockPages(), which I found odd.. but it\nworks under Win2K..\n\nSo my question is: should I put in MmProbeAndLockPages() for the user\nbuffer? And if so, before or after IoBuildPartialMdl() (I think before since\nthe user buffer needs to be resident, right)?\n\nI'm somewhat clueless, so apologies if this is a dim question. I'm reading\nall the docs I can get my hands on!