ExFreePool
The ExFreePool routine deallocates a block of pool memory.
VOID
ExFreePool(
IN PVOID P
);
- Specifies the address of the block of pool memory being deallocated.
Parameters
PReturn Value
None
Comments
This routine releases memory allocated by ExAllocatePool , ExAllocatePoolWithTag , ExAllocatePoolWithQuota , or ExAllocatePoolWithQuotaTag . The memory block must not be accessed after it is freed.
Drivers can also use the ExFreePoolWithTag routine to free buffers allocated by ExAllocatePoolWithTag and ExAllocatePoolWithQuotaTag .
Callers of ExFreePool must be running at IRQL <= DISPATCH_LEVEL. A caller at DISPATCH_LEVEL must have specified a NonPaged Xxx PoolType when the memory was allocated. Otherwise, the caller must be running at IRQL <= APC_LEVEL.
Requirements
IRQL: <= DISPATCH_LEVEL (see Comments section)
Headers: Declared in Wdm.h . Include Wdm.h , Ntddk.h , or Ntifs.h .