Export (0) Print
Expand All
Expand Minimize

ExFreeToPagedLookasideList routine

The ExFreeToPagedLookasideList routine returns a pageable entry to the given lookaside list or to paged pool.

Syntax


VOID ExFreeToPagedLookasideList(
  _Inout_  PPAGED_LOOKASIDE_LIST Lookaside,
  _In_     PVOID Entry
);

Parameters

Lookaside [in, out]

A pointer to the PAGED_LOOKASIDE_LIST structure for the lookaside list, which the caller already initialized with ExInitializePagedLookasideList, which the caller already initialized with ExInitializePagedLookasideList.

Entry [in]

A pointer to the entry to be freed. The caller obtained this pointer from a preceding call to ExAllocateFromPagedLookasideList.

Return value

None

Remarks

ExFreeToPagedLookasideList is the reciprocal of ExAllocateFromPagedLookasideList. It releases a caller-allocated entry back to the caller's lookaside list or to paged pool when that entry is no longer in use.

The same entry can be reallocated or another entry can be allocated later with a subsequent call to ExAllocateFromPagedLookasideList. The user of a lookaside list can allocate and free such entries dynamically, as needed, until it calls ExDeletePagedLookasideList. ExDeletePagedLookasideList releases any outstanding entries in the list before it clears the system state for the given lookaside list and returns control.

If the specified lookaside list has not yet reached the system-determined maximum number of entries, ExFreeToPagedLookasideList inserts the given entry at the front of the list. Otherwise, the buffer at Entry is released back to paged pool using the caller-supplied Free routine, if any, that was set up when the lookaside list was initialized or ExFreePool.

On Windows 2000, drivers must use the -D_WIN2K_COMPAT_SLIST_USAGE switch to successfully link code that uses ExFreeToPagedLookasideList.

For more information, see Using Lookaside Lists.

Requirements

Version

Available starting with Windows 2000.

Header

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

Library

Ntoskrnl.lib

IRQL

<= APC_LEVEL

See also

PAGED_LOOKASIDE_LIST
ExAllocateFromPagedLookasideList
ExDeletePagedLookasideList
ExInitializePagedLookasideList

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft