This function releases a buffer descriptor obtained in a preceding call to the NdisAllocateBuffer function.
Header file: | Ndis.h |
Windows CE versions: | 2.0 and later |
VOID NdisFreeBuffer( IN PNDIS_BUFFER Buffer );
This function returns the given buffer descriptor to the free list.
A driver must not call the NdisFreePacket function with a packet to which buffers are chained because doing this causes a memory leak. Before it releases such a packet, the driver should either call this function as many times as necessary to release all buffer descriptors chained to the packet or call one of the NdisUnchainBufferAtXXX functions as many times as necessary to save the pointers to all chained buffer descriptors.
The driver must release any spin lock that it is holding before calling this function.
A driver that calls this function runs at IRQL <= DISPATCH_LEVEL.
NdisAllocateBuffer, NdisFreePacket, NdisReleaseSpinLock, NdisUnchainBufferAtBack, NdisUnchainBufferAtFront