NDIS Functions Called by Miniport Drivers (NDIS 5.1)
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
An NDIS miniport driver must call NDIS (NdisXxx) functions or macros when it needs system resources such as spin locks or memory buffers. The NdisXxx functions can, in turn, call kernel-mode support routines to satisfy the miniport driver's requests.
NDIS defines several hundred functions and macros, many of which can be called by miniport drivers. The NDIS Library can be thought of as the standard C Library in that it provides a rich framework for writing NIC drivers. Only a small subset of NDIS functions is likely to be called by any given NIC driver.
The NDIS Library functions are provided as an export library (ndis.lib). Both NDIS protocols and miniport drivers link to this export library.
The NDIS Library supplies numerous functions to miniport drivers. These functions are described in the following topics:
NDIS-Supplied Initialization and Registration Functions
NDIS-Supplied Hardware Configuration Functions
NDIS-Supplied I/O Port Functions
NDIS-Supplied DMA-Related Functions
NDIS-Supplied Interrupt Handling Functions
NDIS-Supplied Synchronization Functions
NDIS-Supplied Query and Set Completion Functions
NDIS-Supplied Status Indication Functions
NDIS-Supplied Send and Receive Functions for Connectionless Miniport Drivers
NDIS-Supplied Send and Receive Functions for Connection-Oriented Miniport Drivers
NDIS-Supplied Out-of-Band Data Macros
NDIS-Supplied Packet and Buffer Handling Functions
NDIS-Supplied Support Functions
NDIS-Supplied Media-Specific Macros