Bus-device (driver based on kmdf) uninstall fails after child-devices are uninstalled successfully

Hi,

I have a KMDF-Busdriver which enumerates its child-devices.
I uninstall my child-device and then try to uninstall Bus-device.
Child device uninstall goes through smoothly w/o any problem.
But uninstallation of BD is failing consistently and on looking into setupapi.dev.log I see the folllowing mesg:

cci: [NCI BEGIN REMOVE DEVICE for {1A3E09BE-1E45-494B-9174-D7385B45BBF5}\NVNET_DEV0450\4&1930FEFA&0&00]
cci: [NCI END REMOVE DEVICE for {1A3E09BE-1E45-494B-9174-D7385B45BBF5}\NVNET_DEV0450\4&1930FEFA&0&00. Result 0x800F020B]
!!! dvi: Class installer: failed(0xe000020b)!
!!! dvi: Error 0xe000020b: The device instance does not exist in the hardware tree.

Any idea what the above message means? The above device instance corresponds to my child-device and I uninstall
my child-device before bus-device. It used to go through smoothly earlier.

Any clues/hints would be appreciated.

Thanks,
-Praveen

**********************************************************************************************************************************************************

>> [Device Uninstall (Device Manager) - {1A3E09BE-1E45-494B-9174-D7385B45BBF5}\NVNET_DEV0450\4&1930FEFA&0&00]
>> Section start 2006/10/19 20:16:54.481
cmd: “C:\Windows\system32\mmc.exe” “C:\Windows\system32\CompMgmt.msc”
dvi: {DIF_REMOVE} 20:16:54.481
dvi: Using exported function ‘NetClassInstaller’ in module ‘C:\Windows\system32\NetCfgx.dll’.
dvi: Class installer == NetCfgx.dll,NetClassInstaller
dvi: Using exported function ‘NciDeviceInstall’ in module ‘C:\Windows\system32\nci.dll’.
dvi: CoInstaller 1 == nci.dll,NciDeviceInstall
dvi: Using exported function ‘WlanDeviceClassCoInstaller’ in module ‘C:\Windows\system32\wlaninst.dll’.
dvi: CoInstaller 2 == wlaninst.dll,WlanDeviceClassCoInstaller
dvi: CoInstaller 1: Enter 20:16:54.496
cci: [NdisCoinst: Enter NcipHandleRemovePreProcessing]
cci: NdisCoinst: NcipOpenDriverRegistryKey failed with error code 0xe000020b
cci: [NdisCoinst: Exit NcipHandleRemovePreProcessing]
dvi: CoInstaller 1: Exit
dvi: CoInstaller 2: Enter 20:16:54.512
dvi: CoInstaller 2: Exit
dvi: Class installer: Enter 20:16:54.512
cci: [NCI BEGIN REMOVE DEVICE for {1A3E09BE-1E45-494B-9174-D7385B45BBF5}\NVNET_DEV0450\4&1930FEFA&0&00]
cci: [NCI END REMOVE DEVICE for {1A3E09BE-1E45-494B-9174-D7385B45BBF5}\NVNET_DEV0450\4&1930FEFA&0&00. Result 0x800F020B]
!!! dvi: Class installer: failed(0xe000020b)!
!!! dvi: Error 0xe000020b: The device instance does not exist in the hardware tree.
dvi: {DIF_REMOVE - exit(0xe000020b)} 20:16:54.512
<<< Section end 2006/10/19 20:16:54.512
<<< [Exit status: SUCCESS]

dvi: CoInstaller 2: Enter 20:17:03.107

!!! dvi: CoInstaller 2: failed(0x000004c7)!

**********************************************************************************************************************************************************