This function releases a packet that was allocated from a packet pool with the NdisAllocatePacket function and returns it to the free list.
Header file: | Ndis.h |
Windows CE versions: | 2.0 and later |
VOID NdisFreePacket( IN PNDIS_PACKET Packet );
Before calling this function, the driver must either call NdisFreeBuffer as many times as necessary to release all buffer descriptors chained to the packet or call an NdisUnchainBufferAtXXX function as many times as necessary to save all pointers to buffer descriptors. Otherwise, memory associated with buffer descriptors in the chain remains unusable by the driver and by NDIS until the system is rebooted.
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.
NdisAllocatePacket, NdisFreeBuffer, NdisReleaseSpinLock, NdisUnchainBufferAtBack, NdisUnchainBufferAtFront