I need to filter the power button press. I was able to determine which ACPI
device is registering GUID_DEVICE_SYS_BUTTON. I took the kmdf toaster filter
driver sample from the WDK and tried to install it. I added an UpperFilters
entry in
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\ACPI\PNP0C0C\2&daba3ff&0.
When I rebooted, the filter driver loaded about 50 instances, but AddDevice
was never called. So I tried installing as a class filter by creating and
UpperFilters entry in
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}.
This is the "System" class. But when I boot I get the following crash:
INACCESSIBLE_BOOT_DEVICE (7b). What is the correct why to install a filter
driver on an ACPI device that supports GUID_DEVICE_SYS_BUTTON?

Thanks,
Michael

Re: Filtering power button by Doron

Doron
Wed Mar 12 14:53:28 CDT 2008

do not create a class upper filter, you should stick with a device specific
upper filter. manually wacking away at the registry is not a great idea.
how about using an INF to add your driver as an upper filter and seeing if
you get added to the stack properly that way.

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Michael" <Michael@discussions.microsoft.com> wrote in message
news:25CF82C3-4A7E-4319-8E8C-5E03C0BF5F10@microsoft.com...
>I need to filter the power button press. I was able to determine which
>ACPI
> device is registering GUID_DEVICE_SYS_BUTTON. I took the kmdf toaster
> filter
> driver sample from the WDK and tried to install it. I added an
> UpperFilters
> entry in
> HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\ACPI\PNP0C0C\2&daba3ff&0.
> When I rebooted, the filter driver loaded about 50 instances, but
> AddDevice
> was never called. So I tried installing as a class filter by creating and
> UpperFilters entry in
> HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}.
> This is the "System" class. But when I boot I get the following crash:
> INACCESSIBLE_BOOT_DEVICE (7b). What is the correct why to install a
> filter
> driver on an ACPI device that supports GUID_DEVICE_SYS_BUTTON?
>
> Thanks,
> Michael
>


Re: Filtering power button by Michael

Michael
Wed Mar 12 15:04:02 CDT 2008

How do I determine which inf file was used to install the original device so
that I can modify it? Or is there a way to create an inf file that will
install a filter on top of an existing device?

"Doron Holan [MSFT]" wrote:

> do not create a class upper filter, you should stick with a device specific
> upper filter. manually wacking away at the registry is not a great idea.
> how about using an INF to add your driver as an upper filter and seeing if
> you get added to the stack properly that way.
>
> d
>
> --
> Please do not send e-mail directly to this alias. this alias is for
> newsgroup purposes only.
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
>
> "Michael" <Michael@discussions.microsoft.com> wrote in message
> news:25CF82C3-4A7E-4319-8E8C-5E03C0BF5F10@microsoft.com...
> >I need to filter the power button press. I was able to determine which
> >ACPI
> > device is registering GUID_DEVICE_SYS_BUTTON. I took the kmdf toaster
> > filter
> > driver sample from the WDK and tried to install it. I added an
> > UpperFilters
> > entry in
> > HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\ACPI\PNP0C0C\2&daba3ff&0.
> > When I rebooted, the filter driver loaded about 50 instances, but
> > AddDevice
> > was never called. So I tried installing as a class filter by creating and
> > UpperFilters entry in
> > HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}.
> > This is the "System" class. But when I boot I get the following crash:
> > INACCESSIBLE_BOOT_DEVICE (7b). What is the correct why to install a
> > filter
> > driver on an ACPI device that supports GUID_DEVICE_SYS_BUTTON?
> >
> > Thanks,
> > Michael
> >
>
>

Re: Filtering power button by Michael

Michael
Wed Mar 12 16:37:00 CDT 2008

I found the device id in machine.inf. I then modified machine.inf to load
the filter driver. After rebooting, the driver gets loaded about 50 times,
but AddDevice is never called. In addtion, device manager is showing error
41 (the driver loaded but couldn't find hardware for the device). So it
seems that whether I manually tweak the registry to load the filter, or
modify the inf, the driver still does not get properly added to the device
stack. Any other ideas?


"Michael" wrote:

> How do I determine which inf file was used to install the original device so
> that I can modify it? Or is there a way to create an inf file that will
> install a filter on top of an existing device?
>
> "Doron Holan [MSFT]" wrote:
>
> > do not create a class upper filter, you should stick with a device specific
> > upper filter. manually wacking away at the registry is not a great idea.
> > how about using an INF to add your driver as an upper filter and seeing if
> > you get added to the stack properly that way.
> >
> > d
> >
> > --
> > Please do not send e-mail directly to this alias. this alias is for
> > newsgroup purposes only.
> > This posting is provided "AS IS" with no warranties, and confers no rights.
> >
> >
> > "Michael" <Michael@discussions.microsoft.com> wrote in message
> > news:25CF82C3-4A7E-4319-8E8C-5E03C0BF5F10@microsoft.com...
> > >I need to filter the power button press. I was able to determine which
> > >ACPI
> > > device is registering GUID_DEVICE_SYS_BUTTON. I took the kmdf toaster
> > > filter
> > > driver sample from the WDK and tried to install it. I added an
> > > UpperFilters
> > > entry in
> > > HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\ACPI\PNP0C0C\2&daba3ff&0.
> > > When I rebooted, the filter driver loaded about 50 instances, but
> > > AddDevice
> > > was never called. So I tried installing as a class filter by creating and
> > > UpperFilters entry in
> > > HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}.
> > > This is the "System" class. But when I boot I get the following crash:
> > > INACCESSIBLE_BOOT_DEVICE (7b). What is the correct why to install a
> > > filter
> > > driver on an ACPI device that supports GUID_DEVICE_SYS_BUTTON?
> > >
> > > Thanks,
> > > Michael
> > >
> >
> >

Re: Filtering power button by Doron

Doron
Wed Mar 12 16:37:10 CDT 2008

you would create a new INF. i would guess that machine.inf is probably the
INF that installed acpi on the device. modifying an inbox inf will
invalidate its signature.

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Michael" <Michael@discussions.microsoft.com> wrote in message
news:1ED2F90F-234D-4314-907D-526ADE07AD0B@microsoft.com...
> How do I determine which inf file was used to install the original device
> so
> that I can modify it? Or is there a way to create an inf file that will
> install a filter on top of an existing device?
>
> "Doron Holan [MSFT]" wrote:
>
>> do not create a class upper filter, you should stick with a device
>> specific
>> upper filter. manually wacking away at the registry is not a great idea.
>> how about using an INF to add your driver as an upper filter and seeing
>> if
>> you get added to the stack properly that way.
>>
>> d
>>
>> --
>> Please do not send e-mail directly to this alias. this alias is for
>> newsgroup purposes only.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>>
>> "Michael" <Michael@discussions.microsoft.com> wrote in message
>> news:25CF82C3-4A7E-4319-8E8C-5E03C0BF5F10@microsoft.com...
>> >I need to filter the power button press. I was able to determine which
>> >ACPI
>> > device is registering GUID_DEVICE_SYS_BUTTON. I took the kmdf toaster
>> > filter
>> > driver sample from the WDK and tried to install it. I added an
>> > UpperFilters
>> > entry in
>> > HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\ACPI\PNP0C0C\2&daba3ff&0.
>> > When I rebooted, the filter driver loaded about 50 instances, but
>> > AddDevice
>> > was never called. So I tried installing as a class filter by creating
>> > and
>> > UpperFilters entry in
>> > HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}.
>> > This is the "System" class. But when I boot I get the following crash:
>> > INACCESSIBLE_BOOT_DEVICE (7b). What is the correct why to install a
>> > filter
>> > driver on an ACPI device that supports GUID_DEVICE_SYS_BUTTON?
>> >
>> > Thanks,
>> > Michael
>> >
>>
>>


Re: Filtering power button by Michael

Michael
Wed Mar 12 17:05:02 CDT 2008

I tried creating a new inf file with the same result. I also tried a WDM
driver instead of WDF. Same result. I did notice that with the WDM driver
it was clear that each time the driver was loaded, it immediatley was
unloaded. So what is causing the driver to go into this load / unload loop?
The only error being reported is that the hardware was not found for the
device.

"Doron Holan [MSFT]" wrote:

> you would create a new INF. i would guess that machine.inf is probably the
> INF that installed acpi on the device. modifying an inbox inf will
> invalidate its signature.
>
> d
>
> --
> Please do not send e-mail directly to this alias. this alias is for
> newsgroup purposes only.
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
>
> "Michael" <Michael@discussions.microsoft.com> wrote in message
> news:1ED2F90F-234D-4314-907D-526ADE07AD0B@microsoft.com...
> > How do I determine which inf file was used to install the original device
> > so
> > that I can modify it? Or is there a way to create an inf file that will
> > install a filter on top of an existing device?
> >
> > "Doron Holan [MSFT]" wrote:
> >
> >> do not create a class upper filter, you should stick with a device
> >> specific
> >> upper filter. manually wacking away at the registry is not a great idea.
> >> how about using an INF to add your driver as an upper filter and seeing
> >> if
> >> you get added to the stack properly that way.
> >>
> >> d
> >>
> >> --
> >> Please do not send e-mail directly to this alias. this alias is for
> >> newsgroup purposes only.
> >> This posting is provided "AS IS" with no warranties, and confers no
> >> rights.
> >>
> >>
> >> "Michael" <Michael@discussions.microsoft.com> wrote in message
> >> news:25CF82C3-4A7E-4319-8E8C-5E03C0BF5F10@microsoft.com...
> >> >I need to filter the power button press. I was able to determine which
> >> >ACPI
> >> > device is registering GUID_DEVICE_SYS_BUTTON. I took the kmdf toaster
> >> > filter
> >> > driver sample from the WDK and tried to install it. I added an
> >> > UpperFilters
> >> > entry in
> >> > HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\ACPI\PNP0C0C\2&daba3ff&0.
> >> > When I rebooted, the filter driver loaded about 50 instances, but
> >> > AddDevice
> >> > was never called. So I tried installing as a class filter by creating
> >> > and
> >> > UpperFilters entry in
> >> > HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}.
> >> > This is the "System" class. But when I boot I get the following crash:
> >> > INACCESSIBLE_BOOT_DEVICE (7b). What is the correct why to install a
> >> > filter
> >> > driver on an ACPI device that supports GUID_DEVICE_SYS_BUTTON?
> >> >
> >> > Thanks,
> >> > Michael
> >> >
> >>
> >>
>
>

Re: Filtering power button by Doron

Doron
Thu Mar 13 16:09:54 CDT 2008

this is a config issue. if the driver loads and then unloads, it is being
reference for some stack but then no stack that it services is being
started, so it unloads. are you installing as a class or device upper
filter? in your WDM driver, are you setting an AddDevice routine? in the
KMDF driver i hope you are not setting WdfDriverInitNonPnpDriver

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Michael" <Michael@discussions.microsoft.com> wrote in message
news:AF5FBBD1-3930-44DD-B56D-0E52593ED7E0@microsoft.com...
>I tried creating a new inf file with the same result. I also tried a WDM
> driver instead of WDF. Same result. I did notice that with the WDM
> driver
> it was clear that each time the driver was loaded, it immediatley was
> unloaded. So what is causing the driver to go into this load / unload
> loop?
> The only error being reported is that the hardware was not found for the
> device.
>
> "Doron Holan [MSFT]" wrote:
>
>> you would create a new INF. i would guess that machine.inf is probably
>> the
>> INF that installed acpi on the device. modifying an inbox inf will
>> invalidate its signature.
>>
>> d
>>
>> --
>> Please do not send e-mail directly to this alias. this alias is for
>> newsgroup purposes only.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>>
>> "Michael" <Michael@discussions.microsoft.com> wrote in message
>> news:1ED2F90F-234D-4314-907D-526ADE07AD0B@microsoft.com...
>> > How do I determine which inf file was used to install the original
>> > device
>> > so
>> > that I can modify it? Or is there a way to create an inf file that
>> > will
>> > install a filter on top of an existing device?
>> >
>> > "Doron Holan [MSFT]" wrote:
>> >
>> >> do not create a class upper filter, you should stick with a device
>> >> specific
>> >> upper filter. manually wacking away at the registry is not a great
>> >> idea.
>> >> how about using an INF to add your driver as an upper filter and
>> >> seeing
>> >> if
>> >> you get added to the stack properly that way.
>> >>
>> >> d
>> >>
>> >> --
>> >> Please do not send e-mail directly to this alias. this alias is for
>> >> newsgroup purposes only.
>> >> This posting is provided "AS IS" with no warranties, and confers no
>> >> rights.
>> >>
>> >>
>> >> "Michael" <Michael@discussions.microsoft.com> wrote in message
>> >> news:25CF82C3-4A7E-4319-8E8C-5E03C0BF5F10@microsoft.com...
>> >> >I need to filter the power button press. I was able to determine
>> >> >which
>> >> >ACPI
>> >> > device is registering GUID_DEVICE_SYS_BUTTON. I took the kmdf
>> >> > toaster
>> >> > filter
>> >> > driver sample from the WDK and tried to install it. I added an
>> >> > UpperFilters
>> >> > entry in
>> >> > HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\ACPI\PNP0C0C\2&daba3ff&0.
>> >> > When I rebooted, the filter driver loaded about 50 instances, but
>> >> > AddDevice
>> >> > was never called. So I tried installing as a class filter by
>> >> > creating
>> >> > and
>> >> > UpperFilters entry in
>> >> > HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}.
>> >> > This is the "System" class. But when I boot I get the following
>> >> > crash:
>> >> > INACCESSIBLE_BOOT_DEVICE (7b). What is the correct why to install a
>> >> > filter
>> >> > driver on an ACPI device that supports GUID_DEVICE_SYS_BUTTON?
>> >> >
>> >> > Thanks,
>> >> > Michael
>> >> >
>> >>
>> >>
>>
>>