At system installation, the process of installing and properly binding together network components proceeds in several steps:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\NameOfComponent\Linkage
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\NameOfComponent\Parameters
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\NameOfComponent\CurrentVersion\NetRules
Such a setup file must write the net rules for its component to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NameOfComponent
\CurrentVersion\NetRules. If there are other dependencies, these
are written to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Services\NameOfComponent\Linkage as the value of the OtherDependencies
entry.
If the setup file is for a NIC driver or for an NDIS intermediate driver that
exports a virtual NIC, it must write the medium type of the NIC(s) it exports
to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Services\NameOfComponent\Parameters as the value of MediaType.
MediaType is read by transports and intermediate drivers to eliminate
bindings to NICs of media type(s) not supported by such drivers. Valid media
types are defined in ntddndis.h and in the registry as the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\NDIS\MediaTypes value entry. For more information about setting up
experimental medium types, see also Section
3.4.8.
If it does not register a ProtocolBindAdapter function with NDIS, a transport protocol driver or an intermediate driver either reads the registry to discover what underlying adapter(s) it can bind to, or the driver can be statically bound to an underlying NIC and, as a result, always "know" to what adapter name it will bind itself. Otherwise, a transport's or intermediate driver's ProtocolBindAdapter function will be called when NDIS discovers the NIC(s) to which the transport or intermediate driver can bind itself are up and available for I/O operations.
Any network component can also specify that its bindings must be reviewed
after the binding analysis is complete. To request a second execution of a
component’s setup file, the component's .inf script writes a value
of one at the Review entry of the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NameOfComponent
\CurrentVersion registry key. During its binding-review processing,
the .inf reads the results of the binding operation that was stored in
the registry and adds to or modifies the information. See Section
3.5 for a more complete discussion of a binding review.
After initial system setup, the NCPA can be run to modify the network configuration. For instance, the user can run NCPA to add or delete a network card and its driver. If this occurs, the binding engine is run again and any ensuing new binding results are written into the registry. Whenever NCPA is run to carry out a requested operation, the .inf scripts for all the network components also will be run, just as at system setup time, including all requested review passes.