Sending Packets (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.
A connectionless miniport driver can call one of the following functions to send packets:
MiniportSendPackets
NDIS passes MiniportSendPackets one or more packets at a time as an array of pointers to the packet descriptors.MiniportSend
NDIS always passes MiniportSend a single packet descriptor at a time.If a connectionless miniport driver registers both a MiniportSendPackets function and a MiniportSend function with NdisMRegisterMiniport, NDIS calls only MiniportSendPackets.
A connection-oriented miniport driver must use its MiniportCoSendPackets function to send packets. NDIS passes MiniportCoSendPackets one or more packets at a time as an array of pointers to the packet descriptors.
It is generally preferable to allocate cached memory for transmit data. Noncached memory is a scarce system resource. Allocating a large block of noncached memory is not always possible. Any miniport driver that uses noncached memory must allocate it during driver initialization.
A miniport driver should always assume that buffers set up by a protocol driver are cached memory.