This summarizes NIC detection and the installation process for network interface cards.
The initial setup for detection of network adapters is a process of iterating through known NICs until a clear indication of physical presence is given by a DLL. This process is performed by the nlanman.inf file during primary installation. For custom installations, the user has the option to bypass this detection scan.
The main purpose of initial setup NIC detection is to locate the primary NIC used for joining a domain and for server-initialization operations. When such a NIC is located, the process terminates. The user is then given the choice of using the selected NIC or another NIC from the known types. When the scan is completed and the user has selected a NIC type, the remaining functions of network setup continue with minimum change.
The capability to install NIC driver software and to interact with a network adapter is controlled by the .inf and .dll files. During NIC detection, these files are present for all NICs supported by Microsoft. For OEM installations, the .inf file is automatically copied while the .dll files are copied from the .inf file.
In the configuration querying process, when a NIC type is chosen, the appropriate DLL is selected and called. The DLL then obtains the current hardware-strapped (used set with jumpers on the card) and software-selected settings for the network adapter. The NIC settings include the following:
The DLL entry point also returns the confidence factor, which is a number that indicates how reliably the software can detect the configuration. If the number representing the confidence factor is below 70, the configuration dialog is presented and overrides any mode. If the number is 100, indicating complete certainty of detecting the configuration, the configuration dialog is not presented unless a system-resource conflict is detected or the system is running in custom mode.
Querying During Express Mode If express mode is used and the NIC configuration query succeeds, setup proceeds with the installation of the other network components. If the query fails, setup displays the NIC configuration dialog for the card in question.
Querying During Custom Mode If custom mode is used and the NIC configuration succeeds, setup fills the NIC configuration dialog with the known settings and displays the dialog. If the query fails, the configuration dialog appears with the default settings.
Querying During OEM Installation For OEM installation, querying is done in the same manner as for custom mode. The user is given the opportunity to change settings.
As previously mentioned, a DLL entry point allows setup to return the so-called confidence factor. Another DLL entry point allows setup to verify that the entered settings are valid. Verification is always done, even if the user has not changed any of the settings reported by querying the configuration.
Like other hardware devices, NICs require dedicated hardware resources for their operation. For CISC- and RISC-based platforms, these resources can include IRQs, I/O addresses, shared memory, and ROM space buffer addresses.
The NIC-detection driver, netdtect.sys, is used to claim and free these hardware resources at the Windows NT kernel level. If a resource claim succeeds, the parameter setting is considered to be permitted by the current state of the system.