Hi Jake,
Actually there are two for D\L\NV4\nvenetfd.inf
[Nvidia]
%NVENET.DeviceDesc% = NVENET_2k.NDI, {1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03EF
[Nvidia.NTx86.5.1]
%NVENET.DeviceDesc% = NVENET_XP.NDI, {1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03EF
and one for D\L\NV4\nvnetbus.inf
[Standard]
%nvnetbus.DeviceDesc%=nvnetBus_Device, PCI\VEN_10DE&DEV_03EF
I think you're looking at the wrong section for exportation of drivers. You're looking at this
[ControlFlags]
ExcludeFromSelect = {1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV008C,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV00DF,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0038,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0057,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0269,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0373,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0389,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03EF,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03E6,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0452,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0453,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV047A,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV047B,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV054E,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV054F,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0086,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV00E6,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0037,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0056,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0268,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0372,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03E5,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03EE,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0450,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0451,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0478,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0479,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV054C,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV054D
This "bug" would have been present since v2.5
From my understanding this is only used to give the user an option during installation of drivers as to what the driver supports internally. However, the driver only supports and installs what in the INF Models sections or Driver Node section so that's what I'm pulling from.
However, it's possible I'm completely wrong... to quote http://msdn.microsoft.com/en-us/library/ms794357.aspx
"Each install-section-name must be unique within the INF file and must follow the general rules for defining section names, described in General Syntax Rules for INF Files. The DDInstall section name referenced in a per-manufacturer Models section also can have extensions appended to the given install-section-name, thus defining additional DDInstall sections for the OS-specific or platform-specific installation of the given devices. For more information about using extensions in cross-platform and dual-operating system files, see also Creating an INF File.
Any specified hw-id or compatible-id value can also be specified in the INF ControlFlags section to prevent that device from being displayed to the end user by the Add Hardware Wizard during manual installations. For more information about hw-id and compatible-id values, see Device Identification Strings.
For each device and driver installed using an INF file, the device installers use the information supplied in the INF Manufacturer section and per-manufacturer Models sections to generate Device Description, Manufacturer Name, Device ID if the installation is manual, and, possibly, Compatibility List value entries in the registry"
http://msdn.microsoft.com/en-us/library/ms794546.aspx
"ExcludeFromSelect
Removes all (if * is specified) or the specified list of devices from certain user interface displays, from which a user is expected to select a particular device for installation.
For the NT-based operating system, the specified devices will not be displayed by the Add Hardware Wizard, but will be displayed by the Found New Hardware and Hardware Update wizards.
For Windows 9x/Me, the specified devices will not be displayed by any device selection wizard.
To exclude a set of OS-incompatible or platform-incompatible devices from this display, one or more ExcludeFromSelect entries can have the following case-insensitive extensions appended:
.nt
Do not display these devices on computers running Windows 2000 or later.
.ntx86
Do not display these devices on x86-based computers running Windows 2000 or later.
.ntia64
Do not display these devices on Itanium-based computers running Windows XP or later.
.ntamd64
Do not display these devices on x64-based computers running Windows XP or later.
For more information about how to use the system-defined .nt, .ntx86, .ntia64, and .ntamd64 extensions, see Creating INF Files for Multiple Platforms and Operating Systems."
"Typically, a ControlFlags section has one or more ExcludeFromSelect entries to identify devices that are listed in the per-manufacturer INF Models section, but which should not be displayed to the end user as options during manual installations.
The system's Add Hardware wizard builds a list of installable devices by searching through all available INF files. It extracts information about models/devices from each of these INF files and displays this information to the end user, unless an INF overrides this behavior by suppressing the display of one or more models/devices in that INF's ControlFlags section.
Listing a device's hardware ID or compatible ID in an ExcludeFromSelect entry removes it from the display shown to the end user. Specifying * (an asterisk) for the ExcludeFromSelect value removes all devices/models defined in the INF file from this user-visible list.
An INF writer should use the InteractiveInstall directive sparingly and only in the following situations:
* To install drivers for devices that have corrupted or otherwise incorrectly defined hardware IDs. For example, when two or more different devices share the same Hardware ID. This case is strictly forbidden by the Plug and Play standard, but some hardware vendors have made this error in hardware.
* To install drivers for devices that require their own driver and absolutely cannot use the generic class driver or another driver supplied with the operating system. The InteractiveInstall directive forces Device Manager to ask the user for confirmation for compatible ID matches.
INF files that install exclusively PnP devices can have a ControlFlags section unless they set the NoInstallClass value entry in their respective SetupClassGUID registry keys to TRUE, as described in the reference for the INF ClassInstall32 section.
In the future, WHQL might not grant the Windows Logo to devices whose INF files include InteractiveInstall entries.
Example
This example of the ControlFlags section in the system mouse class installer INF suppresses the display of devices/models that cannot be installed on NT-based x86 platforms.
[ControlFlags]
; Exclude all bus mice and InPort mice for x86 platforms
ExcludeFromSelect.ntx86=*PNP0F0D,*PNP0F11,*PNP0F00,*PNP0F02,*PNP0F15
; Hide this entry always
ExcludeFromSelect=UNKNOWN_MOUSE
The following INF file fragment shows two devices: one that is fully PnP-capable and requires no user intervention during installation and another that requires its own driver and cannot use any other driver. Specifying InteractiveInstall for the second device forces Setup to install this device in a user's context (a user with administrative rights), including prompting the user for the location of the driver files (INF file, driver file, and so on) as required.
; ...
[Manufacturer]
%Mfg% = ModelsSection
[ModelsSection]
; Models section, with two entries
%Device1.DeviceDesc% = Device1.Install, \
PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_01
%Device2.Device.Desc%= Device2.Install, \
PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_02
[ControlFlags]
InteractiveInstall = \
PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_02
; ..."
http://msdn.microsoft.com/en-us/library/ms795520.aspx
"The INF ControlFlags section of a modem INF file can have one or more ExcludeFromSelect entries. Each ExcludeFromSelect entry specifies a device that is excluded from the Select Device dialog box, as well as from all other user interfaces during modem installation.
The following guidelines apply to the use of the ExcludeFromSelect directive in modem INF files:
* Do not use ExcludeFromSelect if your modem is not compatible with Plug and Play and if the user must select the modem from the Select Device dialog box.
* If your modem is a child device on a multifunction card, use ExcludeFromSelect to exclude it from the Select Device dialog so that the user selects the ID of the multifunction card itself. Using ExcludeFromSelect with a multifunction card does not exclude the child modem device from the Device Manager dialog boxes. Users might employ the Device Manager dialog boxes to change a device driver for a child device.
* Do not use ExcludeFromSelect if your Plug and Play modem is not on a multifunction card, if you are creating an INF for an installation disk to be shipped with the modem, and if your modem ID string is a Hardware ID.
Note In Windows XP or later, if you examine the modem INF files in the \Windows\Inf directory, ExcludeFromSelect is used with all modem IDs, because it is fully Plug and Play, unlike previous versions of the operating system. The Plug and Play system detects the modem and installs it without displaying the Select Device dialog box. "
Also, the formation of the PNP ID doesn't matter as my program doesn't go by a certain expression for reading the PNP ID's. So it'll capture all the weird ones too!