3.4.5 Class Net Rule

The syntax for the class entry is defined as follows:

class: REG_MULTI_SZ : ClassName....[[ExistingClassName|basic]....{no|yes}] ….

ClassName 
Specifies the class to which this driver belongs. There is only one ClassName per class net rule. There must be at least one and can be more than one set of the following values specified after ClassName.
ExistingClassName
Optionally specifies a parent class of which the given ClassName is a subclass.

Sometimes, a transport supplies an ExistingClassName to declare itself part of a known subset of the parent class. Usually, such a subclass has some special capability that is not a feature of the whole parent class of drivers. For instance, Microsoft’s Nbf transport declares its ClassName as rasCapableTransport and its ExistingClassName (parent class) as netBiosTransport to indicate that it is a NetBIOS transport that also has RAS capabilities.

basic
Specifies that this component is a primitive class, rather than a subclass of a larger parent class.

NIC drivers always select basic for the second value in the class specification.

Transport drivers select basic if the driver is not a subclass of a parent class.

no|yes
Specifies yes if this component is a logical endpoint that exports only a single name, even if it is layered above several network components. The assumed value is no if nothing is specified.

Network drivers usually allow this option to default to no unless the driver is designed to multiplex over several underlying devices and the driver exports a single device name to still higher level network components. For instance, a transport protocol might multiplex over several underlying NICs but only export a single device name. A driver that controls a family of NICs might do the same thing.

Examples of Class Net Rule

The following examples show how class is specified in the registry for certain system network drivers, also shown in the preceding bindform rule examples, under their respective ..\NameOfComponent\NetRules keys:

  1. The NIC driver for the ee16 adapter has the entry
    class : REG_MULTI_SZ : ee16Driver basic

  2. The Nbf transport has the entry
    class : REG_MULTI_SZ : rasCapableTransport netBiosTransport

  3. The TCP/IP transport has the entry
    class : REG_MULTI_SZ : tcpipTransport basic tcpipService basic yes