NdisFreePacket

This function releases a packet that was allocated from a packet pool with the NdisAllocatePacket function and returns it to the free list.

At a Glance

Header file: Ndis.h
Windows CE versions: 2.0 and later

Syntax

VOID NdisFreePacket( IN PNDIS_PACKET Packet );

Parameters

Packet
Pointer to the packet descriptor returned by the NdisAllocatePacket or the NdisDprAllocatePacket function.

Remarks

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.

See Also

NdisAllocatePacket, NdisFreeBuffer, NdisReleaseSpinLock, NdisUnchainBufferAtBack, NdisUnchainBufferAtFront