Konstantin,
I don't see problems having Compatible Ids in the component resources (one
Compatible Id per set of the components from one INF file, say). However,
not changing TAP code much we will have to have PnP resources that match TAP
input with the XPe database components.
TAP code should not be changed at all. Analyze PMQ file more closely and you
will see that TAP will provide you with both information's HARDWAREIDS and
COMPATIBLEIDS:
CD and TD should be slightly modified to support this. And also there is a
problem with importing inf files since I have not seen compatible IDs in inf
files so we probably must provide that info manually.
<DEVICE ConfigFlags="0">
<DEVICEDESC>Intel(R) 82845G/GL/GE/PE/GV Processor to I/O Controller -
2560 </DEVICEDESC>
<HARDWAREIDS>
<DEVICEID
Order="1">PCI\VEN_8086&DEV_2560&SUBSYS_00000000&REV_02</DEVICEID<DEVICEID
Order="2">PCI\VEN_8086&DEV_2560&SUBSYS_00000000</DEVICEID>
<DEVICEID Order="3">PCI\VEN_8086&DEV_2560&REV_02</DEVICEID>
<DEVICEID Order="4">PCI\VEN_8086&DEV_2560</DEVICEID>
<DEVICEID Order="5">PCI\VEN_8086&DEV_2560&CC_060000</DEVICEID>
<DEVICEID Order="6">PCI\VEN_8086&DEV_2560&CC_0600</DEVICEID>
</HARDWAREIDS>
<COMPATIBLEIDS>
<DEVICEID Order="1">PCI\VEN_8086&CC_060000</DEVICEID>
<DEVICEID Order="2">PCI\VEN_8086&CC_0600</DEVICEID>
<DEVICEID Order="3">PCI\VEN_8086</DEVICEID>
<DEVICEID Order="4">PCI\CC_060000</DEVICEID>
<DEVICEID Order="5">PCI\CC_0600</DEVICEID>
</COMPATIBLEIDS>
That is how I vision the tool from the discussion: import an INF file
creating only one component with all the PnP IDs from the INF file. This
will maintain compability with TAP. Files and Registry data sections should
have links to all the resources parsed from the INF files so that all fiiles
go to corresponding windows directories and if necessary some registry are
included (e.g. Nvidia requires a helper service data). As you will have only
one component to add to your configuration it will save you from having
multiply components' settings (e.g. only display driver settings in TD).
I don't see, however, where you apply Compatible IDs here? Sorry, I am
missing a piece here.
Fortunately compatible ids are not required for hardware display driver and
network category. This category does not require us to provide any resources
like service initialization or some registry entries.
Since during installation PnP will use all required info from inf file
itself.
Merging of all sections from inf file could be even dangerous, since there
is possibility that some hardware require some specific service installed
while some other does not require it.
So for this type of drivers only file copy should be enough and auto
detection from PMQ file would be nice.
Also if you use different manufacturers in same image like ATI and NVIDIA.
It is not good to set resolution from driver components.
In my image I'm using directly prototype component "Device: Display" it
allows me to set resolution independently of drivers I choose to put in my
image. Also this component should support settings for more that one
monitor.
Also, how having all PnP Ids in registry may confuse FBA PnP? Why are you
trying to avoid it? If I understand this, I will understand your idea.
I'm following the logic "The less things you have in registry the less
things can go wrong". And who knows it might speed boot process for few mil.
sec
There should not be a problem of separating critical boot drivers from
non-critical's (hardware category).
Also, adding Compatible Ids concept do you want to change existing XPe
database components? Or you just want to apply this change to new components
that we all create?
Let me think.
1. It would be nice to have native mechanism to create components like this
for our purposes, right?
2. MS could make few new components if they have time to spare. (keeping old
for compatibility)
3. Big picture. In few years we will have LHe. Do you think that they should
keep compatibility with XPe components and way to componentized drivers?
Regards,
Slobodan
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/community/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~