4.1.1  Registering a TDI Transport Driver

When TDI is loaded, the configuration registry has entries for each TDI transport driver and kernel-mode client operating on a particular network. Using binding information in the registry, the operating system loads network drivers.

Then, the I/O Manager creates driver objects and calls the DriverEntry routine of each TDI transport driver. The I/O Manager calls each transport driver’s DriverEntry routine until all TDI drivers are loaded and registered on the network.

A TDI transport driver or a lower protocol component in its transport stack must register with the NDIS library by calling NdisRegisterProtocol if it will bind itself to an underlying NDIS NIC driver. When a transport driver is bound to a NIC driver or has layered itself above an NDIS protocol driver that has bound itself to a NIC driver, the TDI driver is ready to respond to any registered TDI client that submits a request to open a transport address or a control channel.

For more detailed information about network binding and driver entries in the registry, see Part 1.