Steps in Receiving Data (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.

How a miniport driver processes received data depends to some extent on the type of network interface card (NIC) that the miniport driver manages. This section describes the process of receiving data for each of the following device types:

  • Bus-master DMA NICs

  • PIO NICs

  • Non-DMA NICs with on-board memory

Some operations are common to all these devices. These operations include:

  • A miniport driver calls NdisRawWritePortXxx functions to program its NIC.

  • Before indicating up a buffer, a miniport driver that indicates up a complete packet structure must call NdisAdjustBufferLength to adjust the length of the buffer descriptor that describes the buffer. The miniport driver must set the length of the buffer descriptor to the length of the data in the buffer. When the packet is returned, the miniport driver must call this function again to reset it to the actual buffer length.

  • A miniport driver does not enable more receives until the current data has been indicated up and a new set of buffers has been allocated to the receive ring or copied by an interested protocol driver to which the data was indicated.

 

 

Send comments about this topic to Microsoft