Hi, i am having the same problem with my USB storagedevises.
Is it at all possible to explain in detail how to do this.
"Dennis Ginley" wrote:
> I'd like to report that I figured it out, or at least I got it working. After
> almost three weeks of research and trying different things, I discovered that
> I needed to add the key "ErrorControl = 1" to
> HKLM\System\CurrentControlSet\Services\ntwiot5.
>
> I really don't know why that fixed the problem, but it did. This tool has
> existed for ten years as an upper filter without that key, but when I
> switched it to a lower filter it broke. With that key in place, all USB
> drives are recognized, and drivers are loaded for them.
>
> Thanks for the help and suggestions,
> Dennis
>
> "Dennis Ginley" wrote:
>
> > I enabled debug spew as Brian suggested.
> >
> > When I insert and then remove a USB drive that had been installed in the
> > test system before my lower filter was installed, this is what I see:
> >
> > NTWIOT5: *AddDevice() entered [pdo=028DA060].
> > NTWIOT5: Attached to device [hookDev=03172040] [targetDev=03037E00].
> > NTWIOT5: *DispatchPnp(IRP_MN_START_DEVICE) entered [03172040].
> > NTWIOT5: *PnpStartDevice() entered [03172040].
> > NTWIOT5: NtioInitializeHook() entered [03172040].
> > NTWIOT5: *DispatchPnp(IRP_MN_REMOVE_DEVICE) entered [03172040].
> > NTWIOT5: *PnpRemoveDevice() entered [03172040].
> >
> > When I insert a "new" USB drive, i.e. one that had not been insterted into
> > the test system before installing the filter driver, there is no spew at all.
> > On the test box I see a message that the system is loading a driver, then
> > another that the driver load failed.
> >
> > I also created stubs for the (QUERY_*) PNP enumeration IRPs, but none of
> > them were ever hit. It seems as if the presence of the lower filter driver is
> > interfering with the PNP process itself.
> >
> > I'm attaching to the Disk Drive and CD_ROM classes in
> > HKLM/System/CurrentControlSet/Control/Class... Is there another place to
> > attach so I see USB drive discovery IRPs?
> >
> > Thanks,
> > Dennis
> >
> > "Brian Catlin [MVP]" wrote:
> >
> > > From your description, it would appear that the PNP enumeration IRPs
> > > (QUERY_*) are not being processed correctly. Without seeing the code and
> > > the INF file, I cannot be more precise. Which OS are you testing on? Can
> > > you enable the PNP debug spew in the debugger?
> > >
> > > -Brian
> > >
> > > Brian Catlin, Azius Developer Training, 888-238-4050 x4
> > > Windows device driver training and consulting
> > > See www.azius.com for a list of classes
> > >
> > >
> > > "Dennis Ginley" <> wrote in message
> > > news:4B4A8F10-6AA4-477A-88CD-...
> > > > I'm a lower filter, sitting just below the storage class driver. My
> > > > AddDevice
> > > > is called for hard disks, CDs, and for USB keys that were inserted into
> > > > the
> > > > test box before my driver was installed, but not for "new" USB dirves. So
> > > > new
> > > > drives don't ever get added to my list of things to filter, and in fact
> > > > the
> > > > system doesn't even load drivers for them.
> > > >
> > > > So technically it's true that I'm not passing down any IRPs, because I'm
> > > > not
> > > > seeing them.
> > > >
> > > > Dennis
> > > >
> > > > Based upon the symptoms you're reporting, you're not passing down the PNP
> > > > enumeration IRPs properly. It isn't clear to me where you want to be
> > > > loaded. Are you trying to create a lower-level Function Filter Device
> > > > Object (FFDO) or a Bus Filter Device Object (BFDO)?
> > > >
> > > > -Brian
> > >
> > >