NdisFreeMemory

This function releases a block of memory previously allocated with the NdisAllocateMemory function.

VOID NdisFreeMemory(
IN PVOID VirtualAddress,
IN UINT Length, 
IN UINT MemoryFlags );

Parameters

  • VirtualAddress
    Pointer to the base virtual address of the allocated memory. This address was returned by the NdisAllocateMemory function.

  • Length
    Specifies the size, in bytes, of the memory block to be released. This parameter must be identical to the Length that was passed to NdisAllocateMemory.

  • MemoryFlags
    Specifies 0 or the bitmask originally passed to NdisAllocateMemory for the preceding range; one of the following:

    Value Description
    0 Nonpaged system-space memory.
    NDIS_MEMORY_CONTIGUOUS Physically contiguous memory.
    NDIS_MEMORY_NONCACHED Noncached memory.

    This value must be identical to the MemoryFlags parameter that was passed to NdisAllocateMemory.

Remarks

The parameters passed to this function must be identical to those passed to NdisAllocateMemory when the block of memory was allocated. That is, a caller of this function cannot release a subrange of the block that was allocated.

Because noncached memory and contiguous memory are seldom released until the allocating NIC driver is unloading, callers of this function usually are running at IRQL PASSIVE_LEVEL for these types of deallocations.

A driver that calls this function can run at IRQL <= DISPATCH_LEVEL when releasing memory that was allocated from nonpaged system space or that was allocated as noncached memory. Callers must be running at IRQL PASSIVE_LEVEL to release contiguous allocations.

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 2.0 and later Ndis.h    

Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

NdisAllocateMemory

 Last updated on Tuesday, July 13, 2004

© 1992-2000 Microsoft Corporation. All rights reserved.