NDIS Protocol Binding

When a miniport driver is loaded, it must bind to an appropriate protocol stack. The binding process connects the driver to the protocol stack so that they can operate together. Protocol binding takes place through the NdisOpenAdapter and NdisCloseAdapter functions.

The TCP/IP protocol stack supports miniports for both built-in and PC Card–based Ethernet hardware. The TCP/IP protocol stack in Windows CE can bind to multiple miniport driver instances, enabling it to use multiple NICs. In Windows CE 2.10, the IrDA stack supports only a single built-in infrared port, which means that the IrDA stack binds to only a single miniport driver instance.

For PC Card–based NICs and miniport drivers, protocol binding or unbinding occurs when the NIC is inserted or removed. When the NIC is inserted into a PC Card socket, the Device Manager identifies the card, loads its driver, and binds it to a protocol stack after the driver initializes itself. When the NIC is removed from the PC Card socket, the Device Manager unbinds the miniport driver from the protocol stack, shuts down the driver, and unloads the driver’s DLL.

The particular miniport instances that protocol stacks bind to are stored in HKEY_LOCAL_MACHINE\Comm\Protocol\Linkage\ registry keys. For more information, see Registry Keys for Miniport Drivers.