3.4.7 Net Rules for NICs

NIC drivers also must add entries to the registry that specify the net rules for the adapter type that the NIC driver exports. For instance, a NIC driver that manages an elnkii adapter must specify the elnkii NIC's net rules. For any NIC, the only required net rule entries are:

·type

·class

·bindform

These entries are stored in the registry in the NIC-specific HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT
\CurrentVersion\NetworkCards\
CardNumber\NetRules key.

The required net rules entries for an adapter appear in the registry as follows:

type

Specifies an adapter name, followed by a specification of its type.

Typically an adapter name is formed from the adapter type, concatenated with the word Adapter to look like the following:

type : REG_SZ : elnkii elnkiiAdapter

class

Specifies the class to which the NIC belongs as a name that contains the predefined Adapter, usually followed by basic indicating this is a primitive class. However, a parent class can be specified at the discretion of the driver writer, particularly for a driver that handles any one of several models of related adapters.

A typical class net rule in the registry for a NIC looks like the following:

class : REG_SZ : elnkiiAdapter basic

bindform

Specifies the ObjectName of the NIC as visible in the Windows NT object namespace under the \Device node, whether generated binding information should appear under the ..\Linkage key in the registry (usually yes), whether the name of the NIC should be concatenated into binding strings (usually yes), followed by container.

For NICs, container is always chosen for the fourth field because the name of the NIC is delimited by slashes in binding strings. A typical bindform entry in the registry for a NIC looks like the following:

bindform : REG_SZ : "EE161" yes yes container

There is no bindable net rule specified in this registry key for an adapter because every adapter, as the lowest level component in a binding stack, is bound to by other network components. An adapter does not bind itself to any network component.

No use net rule for an adapter is necessary. The fact that a NIC's net rules appear at ..\NetworkCards\CardNumber\NetRules implies that the ComponentRole is always adapter.