3.1 Bindings And Dependencies

Relationships between network components can be expressed as dependencies and as bindings. A network component has binding relationships with other network components and dependencies on other network components or groups of components, as follows:

Binding relationships are determined by a system software component called the binding engine. When the binding engine runs, it generates binding information for all network components in the registry. In addition, the binding engine generates dependencies for each of these components based on the binding information each component's .inf script wrote into the registry. The binding engine writes these dependencies into the registry, and later the Service Controller reads them to determine the load order of dependent components.

If a network component has a dependency that cannot be derived from the binding information, the network component's .inf script must write the dependency at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Services\
NameOfComponent\Linkage as the value for OtherDependencies. Such a value will be added to a component’s dependency information by the binding engine.

If a network component does not have a …\NetRules entry in the registry, the binding engine does not generate any bindings or derived dependencies. Such a component must write its dependencies directly to HKEY_LOCAL_MACHINE\SERVICES\CurrentControlSet\Services
\
NameOfComponent\ DependOnService.