All interactions between transport drivers and NIC drivers use the NDIS interface library wrapper. The entire library is packaged in a DLL as a set of abstract functions, with emphasis on macros for maximum performance. Both NDIS 3.0 transport and NIC drivers link against this DLL.
When called, an NDIS interface library function submits a request to another library function/macro, calls the operating system, or performs a local action that does not require communication with other Windows NT software subsystems. The main role of a wrapper function/macro is to exchange calls with NIC driver upper-edge functions and transport driver lower-edge functions, usually forwarding information from one driver to the other.