Download presentation
Presentation is loading. Please wait.
1
Understanding Extension INFs and Component INFs
Luke Angelini Sr. Program Manager
2
Device Installation Basics
Devices have multiple Device IDs which describe them Driver Packages match the Device IDs for the devices the driver can support PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001 PCI\VEN_vvvv&DEV_d001&SUBSYS_s000002 PCI\VEN_vvvv&DEV_d001&SUBSYS_s000003 … INF Hardware IDs: PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001&REV_rr PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001 Compatible IDs: PCI\VEN_vvvv&DEV_d001 PCI\CC_cccccc
3
Device Installation Basics
Driver Packages compete to be selected, through driver selection and ranking process INF A PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001 … Best match! Hardware IDs: PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001&REV_rr PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001 Compatible IDs: PCI\VEN_vvvv&DEV_d001 PCI\CC_cccccc INF B PCI\VEN_vvvv&DEV_d001 … Other match No match! INF C PCI\VEN_vvvv&DEV_d002 …
4
Extension INFs With extensions, multiple INFs can be installed on a single device INF A Class: Extension PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001 … Extension INF Match Hardware IDs: PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001&REV_rr PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001 Compatible IDs: PCI\VEN_vvvv&DEV_d001 PCI\CC_cccccc INF B Class: Media PCI\VEN_vvvv&DEV_d001 … Base INF Match
5
Extension INFs Can be provided by a different company and updated independently from the base INF. Looks the same as a base INF, but extends the base INF for customization or specialization. Enhances the value of the device, but is not necessary for the base driver to work. Must be a universal INF file. A device can optionally have one or more extension INFs associated with it Typical scenarios where you might use an extension INF include: Modifying settings provided in a base INF, such as customizing the device friendly name or modifying a hardware configuration setting. Creating one or more software components by specifying the INF AddComponent directive and providing a component INF file.
6
Component INFs With components, additional device nodes are created. Fundamentally, the component INF is just another base INF. INF A PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001 AddComponent SWC\VEN_vvvv&DEV_d002 … Hardware IDs: PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001&REV_rr PCI\VEN_vvvv&DEV_d001&SUBSYS_s000001 Compatible IDs: PCI\VEN_vvvv&DEV_d001 PCI\CC_cccccc INF Match AddComponent Creates INF B SWC\VEN_vvvv&DEV_d002 … Component INF Match Child Device Hardware IDs: PCI\VEN_vvvv&DEV_d002
7
Component INFs To create component child devices, a parent extension INF specifies the AddComponent directive Components can be updated independently just like any other device Use as many different components as makes sense from a servicing perspective AddSoftware directive can only be called from a component INF. If your component INF specifies the AddSoftware directive, the component INF: Must be a universal INF file. Must specify the SoftwareComponent setup class. You can specify the AddSoftware directive one or more times. Does not require a function driver service.
8
11/16/ :06 AM © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.