Поделиться через


Функция ExFreeToPagedLookasideList (wdm.h)

Подпрограмма ExFreeToPagedLookasideList возвращает запись, доступную для страницы, в заданный список lookaside или в выгружаемый пул.

Синтаксис

void ExFreeToPagedLookasideList(
  [in, out] PPAGED_LOOKASIDE_LIST Lookaside,
  [in]      PVOID                 Entry
);

Параметры

[in, out] Lookaside

Указатель на структуру PAGED_LOOKASIDE_LIST для списка lookaside, который вызывающий объект уже инициализировал с помощью ExInitializePagedLookasideList, который вызывающий объект уже инициализировал с помощью ExInitializePagedLookasideList.

[in] Entry

Указатель на запись, для освобождения. Вызывающий объект получил этот указатель из предыдущего вызова ExAllocateFromPagedLookasideList.

Возвращаемое значение

None

Remarks

Внимание!

Начиная с Windows 11 версии 22H2 эта функция изменилась со встроенной на экспортируемую. В результате, если вы создаете драйвер, предназначенный для последней версии Windows, он не сможет загрузиться в более старых версиях ОС. Чтобы изменить целевую версию ОС в Visual Studio, выберите Свойства конфигурации-Параметры> драйвера-Общие>.

ExFreeToPagedLookasideList — это взаимное выражение ExAllocateFromPagedLookasideList. Она освобождает запись, выделенную вызывающим объектом, обратно в список просмотра вызывающего абонента или в выстраиваемом пуле, когда эта запись больше не используется.

Ту же запись можно перераспределить или выделить другую запись позже с последующим вызовом ExAllocateFromPagedLookasideList. Пользователь списка lookaside может динамически выделять и освобождать такие записи, пока не вызовет ExDeletePagedLookasideList. ExDeletePagedLookasideList освобождает все невыполненные записи в списке, прежде чем очищает состояние системы для заданного списка lookaside и возвращает элемент управления.

Если указанный список lookaside еще не достиг максимального количества записей, определяемого системой, ExFreeToPagedLookasideList вставляет указанную запись в начало списка. В противном случае буфер в entry освобождается обратно в выстраиваемый пул с помощью предоставленной вызывающей стороной бесплатной подпрограммы, которая была настроена при инициализации списка lookaside или ExFreePool.

В Windows 2000 драйверы должны использовать параметр -D_WIN2K_COMPAT_SLIST_USAGE , чтобы успешно связать код, использующий ExFreeToPagedLookasideList.

Дополнительные сведения см. в статье Использование lookaside Списки.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также раздел

ExAllocateFromPagedLookasideList

ExDeletePagedLookasideList

ExInitializePagedLookasideList

PAGED_LOOKASIDE_LIST