We want to inform our application when any of the ACPI buttons is activated.
As many did before me, I started from the toaster filter in the kmdf examples.
However, when installing the driver using "devcon install devupper.sys
ACPI\FixedButton" I get following error in the setupapi.log: "Error
0xe0000219: The installation failed because a function driver was not
specified for this device instance."
This is a part of the inf file that I used (coinstaller stuff omitted):
[Version]
Signature = "$WINDOWS NT$"
ClassGuid = {4D36E97D-E325-11CE-BFC1-08002BE10318}
Class = System
Provider = %MSFT%
DriverVer=07/24/2009,6.0.6001.18000
[DestinationDirs]
DefaultDestDir = 12
[Manufacturer]
%StdMfg%=Standard,NTx86
; For Win2K
[Standard]
%ToasterFilter.DeviceDesc%=ToasterFilter, ACPI\FixedButton
; For XP and later
[Standard.NTx86]
%ToasterFilter.DeviceDesc%=ToasterFilter, ACPI\FixedButton
[ToasterFilter.NT]
CopyFiles=ToasterFilter.NT.Copy
[ToasterFilter.NT.Copy]
devupper.sys
[ToasterFilter.NT.HW]
AddReg = ToasterFilter.NT.HW.AddReg
[ToasterFilter.NT.HW.AddReg]
HKR,,"UpperFilters",0x00010000,"DevUpper"
[ToasterFilter.NT.Services]
;Do not specify SPSVCINST_ASSOCSERVICE on filter drivers.
AddService = DevUpper,, filter_Service_Inst
[filter_Service_Inst]
DisplayName = %filter.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\DevUpper.sys
Is there anyone who can tell me what I'm missing here? I have little inf
file experience, so I would also appreciate some good reference or book about
writing inf files.
Thanks.
http://msdn.microsoft.com/en-us/library/ms792840.aspx
-Mike
"Paul Turelinckx" <nos...@turnhout.tokheim.com> wrote in message
news:27487F95-ABEF-47D7...@microsoft.com...
Sorry, I have made a typo in this post.
According to the setupapi logfile, I ran devcon with the proper parameters:
[SetupAPI Log]
OS Version = 5.1.2600 Service Pack 2
Platform ID = 2 (NT)
Service Pack = 2.0
Suite = 0x0100
Product Type = 1
Architecture = x86
[2009/07/24 01:22:31 984.118 Driver Install]
#-406 Obtaining rollback information for device
"ACPI\FIXEDBUTTON\2&DABA3FF&0":
#-019 Searching for hardware ID(s): acpi\fixedbutton,*fixedbutton
#-199 Executing "E:\filter\devcon.exe" with command line: devcon install
devupper.inf ACPI\FixedButton
Paul.
My guess is that you can't add a filter driver using the INF in this manner,
but that's just a guess.
Presumptively the device already has a function driver installed? I'm a
little bit more sure you can't add a filter driver to a device that doesn't
have a function driver.
-Mike
"Paul Turelinckx" <nos...@turnhout.tokheim.com> wrote in message
news:BA1E3DB1-63D0-4F26...@microsoft.com...
Thanks for looking into this matter. I did not yet further investigate this
myself.
I have add the logfile contents for the installation attempt.
Please note that I will not be able to respond on this newsgroup for the
coming weeks.
Paul.
[SetupAPI Log]
OS Version = 5.1.2600 Service Pack 2
Platform ID = 2 (NT)
Service Pack = 2.0
Suite = 0x0100
Product Type = 1
Architecture = x86
[2009/07/24 01:22:31 984.118 Driver Install]
#-406 Obtaining rollback information for device
"ACPI\FIXEDBUTTON\2&DABA3FF&0":
#-019 Searching for hardware ID(s): acpi\fixedbutton,*fixedbutton
#-199 Executing "E:\filter\devcon.exe" with command line: devcon install
devupper.inf ACPI\FixedButton
#I063 Selected driver installs from section [NO_DRV] in
"c:\windows\inf\machine.inf".
#I320 Class GUID of device remains: {4D36E97D-E325-11CE-BFC1-08002BE10318}.
#I060 Set selected driver.
[2009/07/24 01:22:31 984.112]
#-199 Executing "E:\filter\devcon.exe" with command line: devcon install
devupper.inf ACPI\FixedButton
#I060 Set selected driver.
#-019 Searching for hardware ID(s): acpi\fixedbutton,*fixedbutton
#I022 Found "ACPI\FixedButton" in e:\filter\devupper.inf; Device: "ACPI
button Upper Device Filter"; Driver: "ACPI button Upper Device Filter";
Provider: "Tokheim"; Mfg: "(Standard system devices)"; Section name:
"ToasterFilter".
#I087 Driver node not trusted, rank changed from 0x00000000 to 0x00008000.
#I023 Actual install section: [ToasterFilter.NT]. Rank: 0x00008000.
Effective driver date: 07/24/2009.
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#I063 Selected driver installs from section [ToasterFilter] in
"e:\filter\devupper.inf".
#I320 Class GUID of device remains: {4D36E97D-E325-11CE-BFC1-08002BE10318}.
#I060 Set selected driver.
#I058 Selected best compatible driver.
#-124 Doing copy-only install of "ACPI\FIXEDBUTTON\2&DABA3FF&0".
#E360 An unsigned or incorrectly signed file "e:\filter\devupper.inf" for
driver "ACPI button Upper Device Filter" will be installed (Policy=Ignore).
Error 0xe000022f: The third-party INF does not contain digital signature
information.
#-024 Copying file "e:\filter\devupper.sys" to
"C:\WINDOWS\system32\DRIVERS\devupper.sys".
#E360 An unsigned or incorrectly signed file "e:\filter\devupper.inf" for
driver "ACPI button Upper Device Filter" will be installed (Policy=Ignore).
Error 0xe000022f: The third-party INF does not contain digital signature
information.
#-336 Copying file "e:\filter\WdfCoInstaller01007.dll" to
"C:\WINDOWS\system32\WdfCoInstaller01007.dll" via temporary file
"C:\WINDOWS\system32\SET9.tmp".
#E360 An unsigned or incorrectly signed file "e:\filter\devupper.inf" for
driver "ACPI button Upper Device Filter" will be installed (Policy=Ignore).
Error 0xe000022f: The third-party INF does not contain digital signature
information.
#-166 Device install function: DIF_REGISTER_COINSTALLERS.
#I056 Coinstallers registered.
#-166 Device install function: DIF_INSTALLINTERFACES.
#-011 Installing section [ToasterFilter.NT.Interfaces] from
"e:\filter\devupper.inf".
#I054 Interfaces installed.
#-166 Device install function: DIF_INSTALLDEVICE.
#I123 Doing full install of "ACPI\FIXEDBUTTON\2&DABA3FF&0".
#E360 An unsigned or incorrectly signed file "e:\filter\devupper.inf" for
driver "ACPI button Upper Device Filter" will be installed (Policy=Ignore).
Error 0xe000022f: The third-party INF does not contain digital signature
information.
#W100 Query-removal during install of "ACPI\FIXEDBUTTON\2&DABA3FF&0" was
vetoed by "ACPI\FixedButton\2&daba3ff&0" (veto type 6: PNP_VetoDevice).
#W104 Device "ACPI\FIXEDBUTTON\2&DABA3FF&0" required reboot: Query remove
failed (install) CfgMgr32 returned: 0x17: CR_REMOVE_VETOED.
#I121 Device install of "ACPI\FIXEDBUTTON\2&DABA3FF&0" finished successfully.
[2009/07/24 01:22:33 984.120]
#-199 Executing "E:\filter\devcon.exe" with command line: devcon install
devupper.inf ACPI\FixedButton
#I060 Set selected driver.
#-019 Searching for hardware ID(s): acpi\fixedbutton
#I022 Found "ACPI\FixedButton" in e:\filter\devupper.inf; Device: "ACPI
button Upper Device Filter"; Driver: "ACPI button Upper Device Filter";
Provider: "Tokheim"; Mfg: "(Standard system devices)"; Section name:
"ToasterFilter".
#I087 Driver node not trusted, rank changed from 0x00000000 to 0x00008000.
#I023 Actual install section: [ToasterFilter.NT]. Rank: 0x00008000.
Effective driver date: 07/24/2009.
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#I063 Selected driver installs from section [ToasterFilter] in
"e:\filter\devupper.inf".
#I320 Class GUID of device remains: {4D36E97D-E325-11CE-BFC1-08002BE10318}.
#I060 Set selected driver.
#I058 Selected best compatible driver.
#-124 Doing copy-only install of "ROOT\SYSTEM\0003".
#E360 An unsigned or incorrectly signed file "e:\filter\devupper.inf" for
driver "ACPI button Upper Device Filter" will be installed (Policy=Ignore).
Error 0xe000022f: The third-party INF does not contain digital signature
information.
#-024 Copying file "e:\filter\devupper.sys" to
"C:\WINDOWS\system32\DRIVERS\devupper.sys".
#E360 An unsigned or incorrectly signed file "e:\filter\devupper.inf" for
driver "ACPI button Upper Device Filter" will be installed (Policy=Ignore).
Error 0xe000022f: The third-party INF does not contain digital signature
information.
#-336 Copying file "e:\filter\WdfCoInstaller01007.dll" to
"C:\WINDOWS\system32\WdfCoInstaller01007.dll" via temporary file
"C:\WINDOWS\system32\SETD.tmp".
#E360 An unsigned or incorrectly signed file "e:\filter\devupper.inf" for
driver "ACPI button Upper Device Filter" will be installed (Policy=Ignore).
Error 0xe000022f: The third-party INF does not contain digital signature
information.
#-166 Device install function: DIF_REGISTER_COINSTALLERS.
#I056 Coinstallers registered.
#-166 Device install function: DIF_INSTALLINTERFACES.
#-011 Installing section [ToasterFilter.NT.Interfaces] from
"e:\filter\devupper.inf".
#I054 Interfaces installed.
#-166 Device install function: DIF_INSTALLDEVICE.
#I123 Doing full install of "ROOT\SYSTEM\0003".
#E360 An unsigned or incorrectly signed file "e:\filter\devupper.inf" for
driver "ACPI button Upper Device Filter" will be installed (Policy=Ignore).
Error 0xe000022f: The third-party INF does not contain digital signature
information.
#-035 Processing service Add/Delete section [ToasterFilter.NT.Services].
#E275 Error while installing services. Error 0xe0000219: The installation
failed because a function driver was not specified for this device instance.
#E122 Device install failed. Error 0xe0000219: The installation failed
because a function driver was not specified for this device instance.
#E157 Default installer failed. Error 0xe0000219: The installation failed
because a function driver was not specified for this device instance.
#W422 Coinstaller 2 (Post Processing) modified status. No Error.
-Mike
"Paul Turelinckx" <nos...@turnhout.tokheim.com> wrote in message
news:88C712D9-1B94-458F...@microsoft.com...
Does this mean that I need to write a function driver to query for the ACPI
buttons? I assume I need to create an operation region with access type
ACPI_OPREGION_ACCESS_AS_COOKED, and a provide an operation region handler
callback. Is there any sample code available that shows how this is done?
Thanks,
Paul.
I would assume so. There are probably some useful samples in the WDK.
-Mike
"Paul Turelinckx" <nos...@turnhout.tokheim.com> wrote in message
news:1AE189C7-67AF-4623...@microsoft.com...