Presentation is loading. Please wait.

Presentation is loading. Please wait.

Understanding Extension INFs and Component INFs

Similar presentations


Presentation on theme: "Understanding Extension INFs and Component INFs"— Presentation transcript:

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.


Download ppt "Understanding Extension INFs and Component INFs"

Similar presentations


Ads by Google