3.4.1  Net Rules Syntax

The binding engine reads the value entries in the NetRules key of the registry for each network component, converts the specified rules from external form to an internal form, and then executes the binding algorithm. The binding engine operates on the network component’s own net rules, on the system-defined built-in rules, and on any specified OtherDependencies. Rules specified for one network component in the registry can affect any other network component.

All the value entries presented subsequently are of the registry types REG_SZ, REG_MULTI_SZ, or REG_DWORD:

·Entries of type REG_SZ can have only a single value in a given component.

·Entries of type REG_MULTI_SZ can have as many values as necessary, presented as a list with list items separated by spaces.

·Entries of type REG_DWORD can have a single ULONG integer value.

All user-defined names provided by a network component in its .inf file must conform to the following conventions:

·A name cannot begin with an uppercase letter, a number, or an underscore character.

·Characters following the first character in a name use standard C-language variable name limitations (for example, no $ or %, no characters greater than 0x7F, no characters less than A).

·Strings in quotation marks are invalid.

·Names cannot be longer than 30 characters.

·Names must be unique.

If name collisions occur, the binding algorithm of the NCPA generates unpredictable results.

The preceding restrictions do not apply to object names. Such a value is specified as a string in double quotation marks.

The following sections define the syntax of the required and optional net rules value entries, mentioned already in Section 3.4, as written to the registry at ..\SOFTWARE\Microsoft\NameOfComponent\CurrentVersion
\NetRules.