Specifying Configuration Parameters for the Advanced Properties Page

Note

Prior to Windows 10, version 1703, driver upgrades and Windows updates could result in changes to INF values that the driver had previously defined in the Advanced properties page. Starting in Windows 10, version 1703, advanced properties that a driver specifies in its INF file persist through these updates.

An INF file that installs a Net component (adapter) can specify adapter configuration parameters for display in the Advanced properties page for the component. Configuration values specified by the user in the Advanced properties page are written to the root instance key for the component.

Note that if an adapter supports an Advanced properties page, the Characteristics entry in the DDInstall section for the adapter must include the NCF_HAS_UI value.

A network INF file specifies configuration parameters for display in the Advanced page through an add-registry-section that is referenced by the DDInstall section for the component. Such an add-registry-section adds one or more configuration subkeys to the Ndi\params key. The format for a configuration parameter subkey is Ndi\params\SubKeyName, where SubKeyName is a REG_SZ value that specifies a vendor-specific parameter name. For example, the key for a parameter that specifies a transceiver type could be named Ndi\params\TransceiverType.

The following keywords are reserved and cannot be used as an Ndi\params\SubKeyName: BundleId, BusType, Characteristics, ComponentId, Description, DeviceInstanceId, DriverDate, DriverDesc, DriverVersion, InfPath, InfSection, InfSectionExt,** IfType* InstallTimeStamp, Manufacturer,** MediaType, **NetCfgInstanceId, NetLuidIndex, PhysicalMediaType, **Provider, and **ProviderName.

For each parameter subkey that is added to Ndi\params, the add-registry-section must add ParamDesc(parameter description) and Type values. The add-registry-section can also add Default and Optional values for the parameter and, if the parameter is numeric, Min, Max, and Step values. The following table describes the values that can be added to each Ndi\params key.

Name Value Description

ParamDesc

String

Name displayed for the parameter on the Advanced page

Type

int, long, Word, dword, edit, or enum

Type of parameter: int, long, Word, and dword specify a numeric parameter; edit and enum specify a text parameter.

Default

default value

Default value for the parameter: for a numeric parameter, must be a numeric value ( int, long, Word, or dword) that matches the specified parameter type; for a text parameter, must be a string. Default values must be specified for required parameters. Default values can also be specified for optional parameters. When a user selects the option to enter a value for an optional parameter, the default value, if specified, appears in the edit box for that parameter.

Optional

0 or 1

0 required. Specify a value for the parameter or use the default value. 1 optional. Can be marked Not Present on the Advanced page.

Min

numeric value

Minimum value for a numeric parameter.

Max

numeric value

Maximum value for a numeric parameter.

Step

numeric value

Step (interval) between valid values for a numeric parameter. The minimum value is the starting point.

The range of values for an enum parameter are specified with a subkey that has the following format:

Ndi\params\SubKeyName\enum

Each enumerated value must have a subkey. Each enum subkey specifies a numeric value (starting with zero for the first enumerated value) and a description for that value.

The following is an example of an add-registry-section that adds a configuration parameter named TransType.

[a1.params.reg]
HKR, Ndi\params\TransType,      ParamDesc, 0, "Transceiver Type"
HKR, Ndi\params\TransType,      Type,      0, "enum"
HKR, Ndi\params\TransType,      Default,   0, "0"
HKR, Ndi\params\TransType,      Optional,  0, "0"
HKR, Ndi\params\TransType\enum, "0",       0, "Auto-Connector"
HKR, Ndi\params\TransType\enum, "1",       0, "Thick Net(AUI/DIX)"
HKR, Ndi\params\TransType\enum, "2",       0, "Thin Net (BNC/COAX)"
HKR, Ndi\params\TransType\enum, "3",       0, "Twisted-Pair (TPE)"