failed to install PCI upper filter driver

Hi all
I try to install a uppper filter driver for PCI bus ACPI\PNP0A03, bug devcon failed.
can anyone help me? thank you very much.

the following is the important inf file and setupapi log.
-----inf file----
[Version]
Signature=“$WINDOWS NT$”
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider=%MSFT%
DriverVer=10/21/2010,6.0.5736.2
CatalogFile=toaster.cat

[DestinationDirs]
DefaultDestDir = 12

[SourceDisksNames]
1 = %DiskId1%,“”

[SourceDisksFiles]
BFdoUpr.sys = 1,

;*****************************************
; ToasterBus Install Section
;*****************************************

[Manufacturer]
%StdMfg%=Standard

[Standard]
%ToasterBus.DeviceDesc%=ToasterBus_Device, ACPI\PNP0A03

[ToasterBus_Device.NT]
CopyFiles=Drivers_Dir
SyssetupPnPFlags = 1

[ToasterBus_Device.NT.HW]
AddReg=ToasterBus_Device.NT.HW.AddReg

[Drivers_Dir]
BFdoUpr.sys

[ToasterBus_Device.NT.HW.AddReg]
HKR,“UpperFilters”,0x00010000,“BFdoUpr”

[ToasterBus_Device.NT.Services]

AddService = BFdoUpr, busupper_Service_Inst

[busupper_Service_Inst]
DisplayName = %busupper.SVCDESC%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ;
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\BFdoUpr.sys
LoadOrderGroup = “Boot Bus Extender”

[Strings]
SPSVCINST_ASSOCSERVICE= 0x00000002
MSFT = “test”
StdMfg = “(Standard system devices)”
DiskId1 = “Toaster Bus Installation Disk #1
ToasterBus.DeviceDesc = “Toaster Bus Enumerator with filters”
busenum.SVCDESC = “Toaster Bus Enumerator”
busupper.SVCDESC = “Toaster Bus FDO Upper Filter”
buslower.SVCDESC = “Toaster Bus FDO Lower Filter”

------------------------The following comes from setupapi.app.log---------------------
[Device Install Log]
OS Version = 6.1.7600
Service Pack = 0.0
Suite = 0x0100
ProductType = 1
Architecture = x86

[BeginLog]

[Boot Session: 2011/06/12 15:40:55.375]

>> [DIF_DESTROYPRIVATEDATA]
>> Section start 2011/06/12 16:17:35.540
cmd: devcon.exe install .\busf2.inf “acpi\pnp0a03”
<<< Section end 2011/06/12 16:17:40.719
<<< [Exit status: SUCCESS (DI_DO_DEFAULT)]

------------------setupapi.dev.log—
[Device Install Log]
OS Version = 6.1.7600
Service Pack = 0.0
Suite = 0x0100
ProductType = 1
Architecture = x86

[BeginLog]
! sto: Driver package does not contain a catalog file, but user wants to install anyway.
. sto: {DRIVERSTORE_IMPORT_NOTIFY_VALIDATE exit(0x00000000)} 16:16:56.056
. sto: Verified driver package signature:
. sto: Digital Signer Score = 0xFF000000
. sto: Digital Signer Name =
. sto: {DRIVERSTORE_IMPORT_NOTIFY_BEGIN} 16:16:59.379
. inf: Opened INF: ‘C:\windows\System32\DriverStore\Temp{08205858-7d96-7809-e729-6c6ae1e42b74}\busf2.inf’ ([strings])
. sto: Create system restore point:
. sto: Description = Device Driver Package Install: AMD System devices

>>> [Device Install (Hardware initiated) - STORAGE\VolumeSnapshot\HarddiskVolumeSnapshot10]
>>> Section start 2011/06/12 16:17:05.947
ump: Creating Install Process: DrvInst.exe 16:17:05.947
ndv: Retrieving device info…
ndv: Setting device parameters…
ndv: Searching Driver Store and Device Path…
dvi: {Build Driver List} 16:17:05.947
dvi: Searching for hardware ID(s):
dvi: storage\volumesnapshot
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list ‘C:\windows\inf’
inf: Opened PNF: ‘C:\windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0409])
dvi: Created Driver Node:
dvi: HardwareID - STORAGE\VolumeSnapshot
dvi: InfName - C:\windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf
dvi: DevDesc - Generic volume shadow copy
dvi: DrvDesc - Generic volume shadow copy
dvi: Provider - Microsoft
dvi: Mfg - Microsoft
dvi: ModelsSec - MSFT.NTx86
dvi: InstallSec - volume_snapshot_install
dvi: ActualSec - volume_snapshot_install.NTx86
dvi: Rank - 0x00ff0000
dvi: Signer - Microsoft Windows
dvi: Signer Score - INBOX
dvi: DrvDate - 06/21/2006
dvi: Version - 6.1.7600.16385
inf: Searched 1 potential matches in published INF directory
inf: Searched 35 INFs in directory: ‘C:\windows\inf’
dvi: {Build Driver List - exit(0x00000000)} 16:17:06.072
ndv: Selecting best match from Driver Store (including Device Path)…
dvi: {DIF_SELECTBESTCOMPATDRV} 16:17:06.072
dvi: No class installer for ‘Storage volume shadow copies’
dvi: No CoInstallers found
dvi: Default installer: Enter 16:17:06.087
dvi: {Select Best Driver}
dvi: Selected driver installs from section [volume_snapshot_install] in ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’.
dvi: Class GUID of device changed to: {533c5b84-ec70-11d2-9505-00c04f79deaf}.
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [Generic volume shadow copy]
dvi: InfFile - [c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf]
dvi: Section - [volume_snapshot_install]
dvi: Signer - [Microsoft Windows]
dvi: Rank - [0x00ff0000]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 16:17:06.087
inf: {SetupCopyOEMInf: C:\windows\INF\volsnap.inf} 16:17:06.087
inf: Driver Store location: C:\windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf
inf: Published Inf Path: C:\windows\INF\volsnap.inf
inf: {SetupCopyOEMInf exit (0x00000050)} 16:17:06.087
dvi: Searching for hardware ID(s):
dvi: storage\volumesnapshot
inf: Opened PNF: ‘C:\windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0409])
dvi: Selected driver installs from section [volume_snapshot_install] in ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’.
dvi: Class GUID of device changed to: {533c5b84-ec70-11d2-9505-00c04f79deaf}.
dvi: Set selected driver complete.
ndv: Driver selected, now performing install…
ndv: {Core Device Install} 16:17:06.103
inf: Opened PNF: ‘C:\windows\INF\volsnap.inf’ ([strings.0409])
inf: Opened PNF: ‘C:\windows\INF\volsnap.inf’ ([strings.0409])
sig: {_VERIFY_FILE_SIGNATURE} 16:17:06.134
sig: Key = volsnap.inf
sig: FilePath = C:\windows\INF\volsnap.inf
sig: Success: A valid signature was found in an installed catalog
sig: Cat: ‘C:\windows\system32\CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Common-Drivers-Package~31bf3856ad364e35~x86~~6.1.7600.16385.cat’
sig: {_VERIFY_FILE_SIGNATURE exit(0x00000000)} 16:17:06.165
inf: Opened PNF: ‘C:\windows\INF\volsnap.inf’ ([strings.0409])
dvi: {DIF_ALLOW_INSTALL} 16:17:06.165
dvi: No class installer for ‘Generic volume shadow copy’
dvi: No CoInstallers found
dvi: Default installer: Enter 16:17:06.181
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 16:17:06.181
ndv: Installing files…
dvi: {DIF_INSTALLDEVICEFILES} 16:17:06.181
dvi: No class installer for ‘Generic volume shadow copy’
dvi: Default installer: Enter 16:17:06.181
dvi: {Install FILES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0409])
inf: {Install Inf Section [volume_snapshot_install.NTx86]}
inf: {Install Inf Section [volume_snapshot_install.NTx86] exit (0x00000000)}
dvi: Processing co-installer registration section [volume_snapshot_install.NTx86.CoInstallers].
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers]}
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: {Install INTERFACES}
dvi: Installing section [volume_snapshot_install.NTx86.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: {Install FILES exit (0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICEFILES - exit(0x00000000)} 16:17:06.181
ndv: Pruning file queue…
dvi: {_SCAN_FILE_QUEUE}
flq: ScanQ flags=620
flq: SPQ_SCAN_PRUNE_COPY_QUEUE
flq: SPQ_SCAN_FILE_COMPARISON
flq: SPQ_SCAN_ACTIVATE_DRP
flq: ScanQ number of copy nodes=0
flq: ScanQ action=200 DoPruning=32
flq: ScanQ end Validity flags=620 CopyNodes=0
dvi: {_SCAN_FILE_QUEUE exit(0, 0x00000000)}
ndv: Committing file queue…
flq: {_commit_file_queue}
flq: CommitQ DelNodes=0 RenNodes=0 CopyNodes=0
flq: CommitQ early exit: No nodes are queued
flq: {_commit_file_queue exit OK}
ndv: Registering CoInstallers…
dvi: {DIF_REGISTER_COINSTALLERS} 16:17:06.181
dvi: No class installer for ‘Generic volume shadow copy’
dvi: Default installer: Enter 16:17:06.181
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0409])
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers]}
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: Default installer: Exit
dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 16:17:06.181
ndv: Installing interfaces…
dvi: {DIF_INSTALLINTERFACES} 16:17:06.181
dvi: No class installer for ‘Generic volume shadow copy’
dvi: No CoInstallers found
dvi: Default installer: Enter 16:17:06.181
dvi: {Install INTERFACES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0409])
dvi: Installing section [volume_snapshot_install.NTx86.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: Default installer: Exit
dvi: {DIF_INSTALLINTERFACES - exit(0x00000000)} 16:17:06.197
ndv: Installing device…
dvi: {DIF_INSTALLDEVICE} 16:17:06.197
dvi: No class installer for ‘Generic volume shadow copy’
dvi: Default installer: Enter 16:17:06.197
dvi: {Install DEVICE}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0409])
dvi: Processing Registry/Property directives…
inf: {Install Inf Section [volume_snapshot_install.NTx86]}
inf: {Install Inf Section [volume_snapshot_install.NTx86] exit (0x00000000)}
inf: {Install Inf Section [volume_snapshot_install.NTx86.Hw]}
inf: Empty section
inf: {Install Inf Section [volume_snapshot_install.NTx86.Hw] exit (0x00000000)}
dvi: {Writing Device Properties}
dvi: Provider name=Microsoft
dvi: DriverDate 06/21/2006
dvi: DriverVersion=6.1.7600.16385
dvi: Class name=VolumeSnapshot
dvi: Manufacturer=Microsoft
dvi: Matching DeviceID=storage\volumesnapshot
dvi: Strong Name=volsnap.inf:MSFT.NTx86:volume_snapshot_install:6.1.7600.16385:storage\volumesnapshot
dvi: {Writing Device Properties - Complete}
inf: {Install Inf Section [volume_snapshot_install.NTx86.Services]}
inf: AddService=,2, (volsnap.inf line 31)
! dvi: Add Service: NULL Controlling service.
inf: {Install Inf Section [volume_snapshot_install.NTx86.Services] exit(0x00000000)}
dvi: Updated reflected section names for: volsnap.inf
dvi: {Install DEVICE exit (0x00000000)}
dvi: Writing common driver property settings.
dvi: DriverDescription=Generic volume shadow copy
dvi: DeviceDisplayName=Generic volume shadow copy
dvi: Install Device: Removing device sub-tree. 16:17:06.212
dvi: Install Device: Removing device sub-tree completed. 16:17:06.321
dvi: Install Device: Restarting device. 16:17:06.321
dvi: Install Device: Restarting device completed. 16:17:06.399
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICE - exit(0x00000000)} 16:17:06.399
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL} 16:17:06.399
dvi: No class installer for ‘Generic volume shadow copy’
dvi: Default installer: Enter 16:17:06.399
dvi: Default installer: Exit
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL - exit(0xe000020e)} 16:17:06.399
ndv: Device install status=0x00000000
ndv: Performing device install final cleanup…
ndv: {Core Device Install - exit(0x00000000)} 16:17:06.399
ump: Server install process exited with code 0x00000000 16:17:06.415
<<< Section end 2011/06/12 16:17:06.415
<<< [Exit status: SUCCESS]

. sto: Time = 18517ms
. sto: Status = 0x00000000 (SUCCESS)
. sto: {DRIVERSTORE_IMPORT_NOTIFY_BEGIN: exit(0x00000000)} 16:17:17.897
. sto: Importing driver package files:
. sto: Source Path = C:\windows\System32\DriverStore\Temp{08205858-7d96-7809-e729-6c6ae1e42b74}
. sto: Destination Path = C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831
. sto: {Copy Directory: C:\windows\System32\DriverStore\Temp{08205858-7d96-7809-e729-6c6ae1e42b74}} 16:17:17.897
. sto: Target Path = C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831
. sto: {Copy Directory: exit(0x00000000)} 16:17:17.897
. sto: {Index Driver Package: C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf} 16:17:17.897
. idb: Registered driver store entry ‘busf2.inf_x86_neutral_2c95ecb28f61f831’.
. idb: Published ‘busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’ to ‘C:\windows\INF\oem14.inf’
. idb: Published driver store entry ‘busf2.inf_x86_neutral_2c95ecb28f61f831’.
. sto: Published driver package INF ‘oem14.inf’ was changed.
. sto: Active published driver package is ‘busf2.inf_x86_neutral_2c95ecb28f61f831’.
. sto: {Index Driver Package: exit(0x00000000)} 16:17:23.637
. sto: {DRIVERSTORE_IMPORT_NOTIFY_END} 16:17:23.637
. sto: Commit system restore point:
. sto: Description = Device Driver Package Install: AMD System devices
. sto: Time = 15ms
. sto: Status = 0x00000000 (SUCCESS)
. sto: {DRIVERSTORE_IMPORT_NOTIFY_END: exit(0x00000000)} 16:17:23.653
. sto: {Stage Driver Package: exit(0x00000000)} 16:17:23.653
. ndv: Doing device matching lookup!
. inf: Opened INF: ‘C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’ ([strings])
. inf: Saved PNF: ‘C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.PNF’ (Language = 0409)
. ndv: Found device that matches new INF!
. sto: Driver package was staged to Driver Store. Time = 76378 ms
. sto: Imported driver package into Driver Store:
. sto: Filename = C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf
. sto: Time = 76425 ms
. sto: {Import Driver Package: exit(0x00000000)} 16:17:23.715
. inf: Opened INF: ‘c:\users\test\desktop\buf_filter\busf2.inf’ ([strings])
. inf: Driver Store location: C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf
. inf: Published Inf Path: C:\windows\INF\oem14.inf
. inf: Opened INF: ‘c:\users\test\desktop\buf_filter\busf2.inf’ ([strings])
. inf: Installing catalog toaster.cat as: oem14.CAT
! inf: Failed to install catalog - error ignored
! inf: Error 2: The system cannot find the file specified.
. inf: OEM source media location: c:\users\test\desktop\buf_filter<br> . inf: {SetupCopyOEMInf exit (0x00000000)} 16:17:23.856
. dvi: Searching for hardware ID(s):
. dvi: acpi\pnp0a03
. inf: Opened PNF: ‘C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’ ([strings])
. sig: {_VERIFY_FILE_SIGNATURE} 16:17:23.856
. sig: Key = busf2.inf
. sig: FilePath = C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf
. sig: Catalog = C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\toaster.cat
! sig: Verifying file against specific (valid) catalog failed! (0x00000057)
! sig: Error 87: The parameter is incorrect.
. sig: {_VERIFY_FILE_SIGNATURE exit(0x00000057)} 16:17:23.856
. sig: {_VERIFY_FILE_SIGNATURE} 16:17:23.856
. sig: Key = busf2.inf
. sig: FilePath = C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf
. sig: Catalog = C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\toaster.cat
! sig: Verifying file against specific Authenticode™ catalog failed! (0x80092003)
! sig: Error 0x80092003: An error occurred while reading or writing to a file.
. sig: {_VERIFY_FILE_SIGNATURE exit(0x80092003)} 16:17:23.856
. dvi: Selected driver installs from section [ToasterBus_Device] in ‘c:\windows\system32\driverstore\filerepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’.
. dvi: Class GUID of device changed to: {4d36e97d-e325-11ce-bfc1-08002be10318}.
. dvi: Set selected driver complete.
. dvi: {Plug and Play Service: Device Install for ROOT\SYSTEM\0002}
. ump: Creating Install Process: DrvInst.exe 16:17:23.856
. ndv: Infpath=C:\windows\INF\oem14.inf
. ndv: DriverNodeName=busf2.inf:Standard:ToasterBus_Device:6.0.5736.3:acpi\pnp0a03
. ndv: DriverStorepath=C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf
. ndv: Building driver list from driver node strong name…
. dvi: Searching for hardware ID(s):
. dvi: acpi\pnp0a03
. inf: Opened PNF: ‘C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’ ([strings])
. sig: {_VERIFY_FILE_SIGNATURE} 16:17:23.871
. sig: Key = busf2.inf
. sig: FilePath = C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf
. sig: Catalog = C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\toaster.cat
! sig: Verifying file against specific (valid) catalog failed! (0x00000057)
! sig: Error 87: The parameter is incorrect.
. sig: {_VERIFY_FILE_SIGNATURE exit(0x00000057)} 16:17:23.887
. sig: {_VERIFY_FILE_SIGNATURE} 16:17:23.887
. sig: Key = busf2.inf
. sig: FilePath = C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf
. sig: Catalog = C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831\toaster.cat
! sig: Verifying file against specific Authenticode™ catalog failed! (0x80092003)
! sig: Error 0x80092003: An error occurred while reading or writing to a file.
. sig: {_VERIFY_FILE_SIGNATURE exit(0x80092003)} 16:17:23.887
. dvi: Selected driver installs from section [ToasterBus_Device] in ‘c:\windows\system32\driverstore\filerepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’.
. dvi: Class GUID of device changed to: {4d36e97d-e325-11ce-bfc1-08002be10318}.
. dvi: Set selected driver complete.
. ndv: {Core Device Install} 16:17:23.887
. inf: Opened INF: ‘C:\windows\INF\oem14.inf’ ([strings])
. inf: Saved PNF: ‘C:\windows\INF\oem14.PNF’ (Language = 0409)
. dvi: {DIF_ALLOW_INSTALL} 16:17:23.887
. dvi: No class installer for ‘Toaster Bus Enumerator with filters’
. dvi: Using exported function ‘CriticalDeviceCoInstaller’ in module ‘C:\windows\system32\SysClass.Dll’.
. dvi: CoInstaller 1 == SysClass.Dll,CriticalDeviceCoInstaller
. dvi: CoInstaller 1: Enter 16:17:23.887
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:23.887
. dvi: Default installer: Exit
. dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 16:17:23.887
. ndv: Installing files…
. dvi: {DIF_INSTALLDEVICEFILES} 16:17:23.887
. dvi: No class installer for ‘Toaster Bus Enumerator with filters’
. dvi: CoInstaller 1: Enter 16:17:23.887
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:23.903
. dvi: {Install FILES}
. inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’ ([strings])
. inf: {Install Inf Section [ToasterBus_Device.NT]}
. inf: CopyFiles=Drivers_Dir (busf2.inf line 45)
. cpy: Open PnpLockdownPolicy: Err=2. This is OK. Use LockDownPolicyDefault
. flq: QueueSingleCopy…
. flq: Inf : ‘c:\windows\system32\driverstore\filerepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’
. flq: SourceInf: ‘c:\windows\system32\driverstore\filerepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’
. flq: SourceSection: [sourcedisksfiles]
. flq: Source root path based on SourceInf
. flq: SourceRootPath: ‘C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831’
. flq: {FILE_QUEUE_COPY}
. flq: CopyStyle - 0x00000000
. flq: {FILE_QUEUE_COPY}
. flq: CopyStyle - 0x00000000
. flq: SourceRootPath - ‘C:\windows\System32\DriverStore\FileRepository\busf2.inf_x86_neutral_2c95ecb28f61f831’
. flq: SourceFilename - ‘BFdoUpr.sys’
. flq: TargetDirectory- ‘C:\windows\system32\DRIVERS’
. flq: TargetFilename - ‘BFdoUpr.sys’
. flq: SourceDesc - ‘Toaster Bus Installation Disk #1
. flq: {FILE_QUEUE_COPY exit(0x00000000)}
. flq: {FILE_QUEUE_COPY exit(0x00000000)}
. inf: {Install Inf Section [ToasterBus_Device.NT] exit (0x00000000)}
. dvi: Processing co-installer registration section [ToasterBus_Device.NT.CoInstallers].
. inf: {Install Inf Section [ToasterBus_Device.NT.CoInstallers]}
. inf: {Install Inf Section [ToasterBus_Device.NT.CoInstallers] exit (0x00000000)}
. dvi: Co-installers registered.
. dvi: {Install INTERFACES}
. dvi: Installing section [ToasterBus_Device.NT.Interfaces]
. dvi: {Install INTERFACES exit 00000000}
. dvi: {Install FILES exit (0x00000000)}
. dvi: Default installer: Exit
. dvi: {DIF_INSTALLDEVICEFILES - exit(0x00000000)} 16:17:23.903
. ndv: Pruning file queue…
. dvi: {_SCAN_FILE_QUEUE}
. flq: ScanQ flags=620
. flq: SPQ_SCAN_PRUNE_COPY_QUEUE
. flq: SPQ_SCAN_FILE_COMPARISON
. flq: SPQ_SCAN_ACTIVATE_DRP
. flq: ScanQ number of copy nodes=1
. flq: File ‘C:\windows\system32\DRIVERS\BFdoUpr.sys’ pruned from copy.
. cpy: DrpSetRegFileProt ‘C:\windows\system32\DRIVERS\BFdoUpr.sys’ Status=0 Class=OEM Legacy
. flq: ScanQ action=200 DoPruning=32
. flq: ScanQ end Validity flags=620 CopyNodes=0
. dvi: {_SCAN_FILE_QUEUE exit(0, 0x00000000)}
. ndv: Committing file queue…
. flq: {_commit_file_queue}
. flq: CommitQ DelNodes=0 RenNodes=0 CopyNodes=0
. flq: CommitQ early exit: No nodes are queued
. flq: {_commit_file_queue exit OK}
. ndv: Registering CoInstallers…
. dvi: {DIF_REGISTER_COINSTALLERS} 16:17:23.903
. dvi: No class installer for ‘Toaster Bus Enumerator with filters’
. dvi: CoInstaller 1: Enter 16:17:23.918
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:23.918
. inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’ ([strings])
. inf: {Install Inf Section [ToasterBus_Device.NT.CoInstallers]}
. inf: {Install Inf Section [ToasterBus_Device.NT.CoInstallers] exit (0x00000000)}
. dvi: {DIF_DESTROYPRIVATEDATA} 16:17:23.918
. dvi: CoInstaller 1: Enter 16:17:23.918
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:23.918
. dvi: Default installer: Exit
. dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 16:17:23.918
. dvi: Co-installers registered.
. dvi: Default installer: Exit
. dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 16:17:23.918
. ndv: Installing interfaces…
. dvi: {DIF_INSTALLINTERFACES} 16:17:23.918
. dvi: No class installer for ‘Toaster Bus Enumerator with filters’
. dvi: Using exported function ‘CriticalDeviceCoInstaller’ in module ‘C:\windows\system32\SysClass.Dll’.
. dvi: CoInstaller 1 == SysClass.Dll,CriticalDeviceCoInstaller
. dvi: CoInstaller 1: Enter 16:17:23.918
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:23.918
. dvi: {Install INTERFACES}
. inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’ ([strings])
. dvi: Installing section [ToasterBus_Device.NT.Interfaces]
. dvi: {Install INTERFACES exit 00000000}
. dvi: Default installer: Exit
. dvi: {DIF_INSTALLINTERFACES - exit(0x00000000)} 16:17:23.918
. ndv: Installing device…
. dvi: {DIF_INSTALLDEVICE} 16:17:23.918
. dvi: No class installer for ‘Toaster Bus Enumerator with filters’
. dvi: CoInstaller 1: Enter 16:17:23.918
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:23.918
. dvi: {Install DEVICE}
. inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\busf2.inf_x86_neutral_2c95ecb28f61f831\busf2.inf’ ([strings])
. dvi: Writing BASIC Logical Configurations…
. inf: {Install Inf Section [ToasterBus_Device.NT]}
. inf: {Install Inf Section [ToasterBus_Device.NT] exit (0x00000000)}
. dvi: Processing Registry/Property directives…
. inf: {Install Inf Section [ToasterBus_Device.NT]}
. inf: {Install Inf Section [ToasterBus_Device.NT] exit (0x00000000)}
. inf: {Install Inf Section [ToasterBus_Device.NT.Hw]}
. inf: AddReg=ToasterBus_Device.NT.HW.AddReg (busf2.inf line 49)
. inf: {Install Inf Section [ToasterBus_Device.NT.Hw] exit (0x00000000)}
. dvi: {Writing Device Properties}
. dvi: Provider name=AMD
. dvi: DriverDate 10/21/2010
. dvi: DriverVersion=6.0.5736.3
. dvi: Class name=System
. dvi: Manufacturer=(Standard system devices)
. dvi: Matching DeviceID=acpi\pnp0a03
. dvi: Strong Name=oem14.inf:Standard:ToasterBus_Device:6.0.5736.3:acpi\pnp0a03
. dvi: {Writing Device Properties - Complete}
. inf: {Install Inf Section [ToasterBus_Device.NT.Services]}
. inf: AddService=BFdoUpr,busupper_Service_Inst (busf2.inf line 65)
. inf: ServiceType=1 (busf2.inf line 81)
. inf: StartType=0 (busf2.inf line 82)
. inf: ErrorControl=1 (busf2.inf line 83)
. inf: ServiceBinary=C:\windows\system32\DRIVERS\BFdoUpr.sys (busf2.inf line 84)
. inf: DisplayName=“Toaster Bus FDO Upper Filter” (busf2.inf line 80)
. dvi: Add Service: Created service ‘BFdoUpr’.
. inf: {Install Inf Section [ToasterBus_Device.NT.Services] exit(0x00000000)}
!!! dvi: Error: No INF AddService directives contained the flag SPSVCINST_ASSOCSERVICE
!!! dvi: Error while installing services.
!!! dvi: Error 0xe0000219: The installation failed because a function driver was not specified for this device instance.
. dvi: Deleted service ‘BFdoUpr’.
!!! dvi: Cleaning up failed installation
!!! dvi: Error 0xe0000219: The installation failed because a function driver was not specified for this device instance.
. dvi: {Install DEVICE exit (0xe0000219)}
!!! dvi: Cleaning up failed installation (e0000219)
!!! dvi: Default installer: failed!
!!! dvi: Error 0xe0000219: The installation failed because a function driver was not specified for this device instance.
. dvi: CoInstaller 1: Enter (Post Processing) 16:17:35.369
. dvi: CoInstaller 1: Exit (Post Processing)
. dvi: {DIF_INSTALLDEVICE - exit(0xe0000219)} 16:17:35.369
!!! ndv: Error(e0000219) installing device!
. ndv: Device install status=0xe0000219
. ndv: Performing device install final cleanup…
! ndv: Queueing up error report since device installation failed…
. ndv: {Core Device Install - exit(0xe0000219)} 16:17:35.369
. dvi: {DIF_DESTROYPRIVATEDATA} 16:17:35.369
. dvi: CoInstaller 1: Enter 16:17:35.369
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:35.369
. dvi: Default installer: Exit
. dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 16:17:35.369
. ump: Server install process exited with code 0xe0000219 16:17:35.384
. ump: {Plug and Play Service: Device Install exit(e0000219)}
. ndv: Device Install failed for new device…installing NULL driver.
. dvi: {Plug and Play Service: Device Install for ROOT\SYSTEM\0002}
. ump: Creating Install Process: DrvInst.exe 16:17:35.384
! ndv: Installing NULL driver!
. dvi: Set selected driver complete.
. dvi: {DIF_ALLOW_INSTALL} 16:17:35.400
. dvi: No class installer for ‘System devices’
. dvi: Using exported function ‘CriticalDeviceCoInstaller’ in module ‘C:\windows\system32\SysClass.Dll’.
. dvi: CoInstaller 1 == SysClass.Dll,CriticalDeviceCoInstaller
. dvi: CoInstaller 1: Enter 16:17:35.400
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:35.400
. dvi: Default installer: Exit
. dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 16:17:35.400
. dvi: {DIF_INSTALLDEVICE} 16:17:35.400
. dvi: No class installer for ‘System devices’
. dvi: CoInstaller 1: Enter 16:17:35.400
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:35.400
! dvi: Installing NULL driver!
. dvi: Writing common driver property settings.
! dvi: Failed to set Device Description property: (null)
! dvi: Error 1784: The supplied user buffer is not valid for the requested operation.
. dvi: {Restarting Devices} 16:17:35.431
. dvi: Restart: ROOT\SYSTEM\0002
. dvi: Restart complete.
. dvi: {Restarting Devices exit} 16:17:35.509
. dvi: Default installer: Exit
. dvi: CoInstaller 1: Enter (Post Processing) 16:17:35.509
. dvi: CoInstaller 1: Exit (Post Processing)
. dvi: {DIF_INSTALLDEVICE - exit(0x00000000)} 16:17:35.509
. dvi: {DIF_DESTROYPRIVATEDATA} 16:17:35.509
. dvi: CoInstaller 1: Enter 16:17:35.509
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:35.525
. dvi: Default installer: Exit
. dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 16:17:35.525
. ump: Server install process exited with code 0x00000000 16:17:35.525
. ump: {Plug and Play Service: Device Install exit(00000000)}
. dvi: {Build Driver List} 16:17:35.525
! dvi: Driver list already built
. dvi: {Build Driver List - exit(0x00000000)} 16:17:35.525
. dvi: {DIF_SELECTBESTCOMPATDRV} 16:17:35.525
. dvi: No class installer for ‘Toaster Bus Enumerator with filters’
. dvi: Using exported function ‘CriticalDeviceCoInstaller’ in module ‘C:\windows\system32\SysClass.Dll’.
. dvi: CoInstaller 1 == SysClass.Dll,CriticalDeviceCoInstaller
. dvi: CoInstaller 1: Enter 16:17:35.525
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:35.525
. dvi: {Select Best Driver}
. dvi: Selected driver installs from section [ToasterBus_Device] in ‘c:\users\test\desktop\buf_filter\busf2.inf’.
. dvi: Class GUID of device changed to: {4d36e97d-e325-11ce-bfc1-08002be10318}.
. dvi: {DIF_DESTROYPRIVATEDATA} 16:17:35.525
. dvi: CoInstaller 1: Enter 16:17:35.525
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:35.525
. dvi: Default installer: Exit
. dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 16:17:35.525
. dvi: Set selected driver complete.
. dvi: Selected:
. dvi: Description - [Toaster Bus Enumerator with filters]
. dvi: InfFile - [c:\users\test\desktop\buf_filter\busf2.inf]
. dvi: Section - [ToasterBus_Device]
. dvi: Signer - [Not digitally signed]
. dvi: Rank - [0x80ff0000]
. dvi: {Select Best Driver - exit(0x00000000)}
. dvi: Default installer: Exit
. dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 16:17:35.525
. dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL} 16:17:35.525
. dvi: No class installer for ‘Toaster Bus Enumerator with filters’
. dvi: Using exported function ‘CriticalDeviceCoInstaller’ in module ‘C:\windows\system32\SysClass.Dll’.
. dvi: CoInstaller 1 == SysClass.Dll,CriticalDeviceCoInstaller
. dvi: CoInstaller 1: Enter 16:17:35.525
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:35.525
. dvi: Default installer: Exit
. dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL - exit(0xe000020e)} 16:17:35.525
. dvi: {DIF_DESTROYPRIVATEDATA} 16:17:35.525
. dvi: CoInstaller 1: Enter 16:17:35.525
. dvi: CoInstaller 1: Exit
. dvi: Default installer: Enter 16:17:35.525
. dvi: Default installer: Exit
. dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 16:17:35.525

You can’t install a filter for an existing device this way. You need to
include the install and service sections for the fundamental device
(pci.sys) in your inf.

It’s uncommon to filter on acpi0a03? May I know what you are trying to
accomplish?

Calvin

xxxxx@gmail.com wrote:

Hi all
I try to install a uppper filter driver for PCI bus ACPI\PNP0A03, bug devcon failed.
can anyone help me? thank you very much.

This INF will not add an upper filter driver. Instead, it will
completely replace the standard driver for this device, but it doesn’t
specify a primary driver. That’s the complaint in the log file.

This is not the way you install a filter driver. You don’t actually
need an INF at all. You just create the service and add the UpperFilter
registry entry, which can be done using the SetupDi APIs. If you really
want to use an INF file, you will have to include a pointer to the
standard INF file for these devices, so that the standard driver gets
restored. For example:

[ToasterBus_Device.NT]
Include=machine.inf
Needs=PCI_DRV_ROOT
CopyFiles=Drivers_Dir

[MyServiceSection]
Include=machine.inf
Needs=PCI_DRV_ROOT.Services
AddService=BFdoUpr,busupper_Service_Inst

[ToasterBus_Device.NT.HW]
Include=machine.inf
Needs=PCI_DRV_ROOT.HW
AddReg=ToasterBus_Device.NT.HW.AddReg

Are you trying to add your filter to ALL of the PCI buses? Many systems
have more than one. Again, you can’t do that with an INF, but you can
do it by enumerating those devices with the SetupDI APIs.

By the way, as a point of style, when you are “borrowing” large amounts
of code from a sample, it’s good practice to change the device naming.
It looks very tacky when I get a device that includes an INF file that
includes reference after reference to the “toaster” device. That just
tells me the author didn’t understand INF files well enough to customize
it properly.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.