Функция FltInitExtraCreateParameterLookasideList (fltkernel.h)

Подпрограмма FltInitExtraCreateParameterLookasideList инициализирует список просмотров постраничного или нестраничного пула, используемый для выделения одной или нескольких дополнительных структур контекста create (ECP) фиксированного размера.

Синтаксис

VOID FLTAPI FltInitExtraCreateParameterLookasideList(
  [in]      PFLT_FILTER               Filter,
  [in, out] PVOID                     Lookaside,
  [in]      FSRTL_ECP_LOOKASIDE_FLAGS Flags,
  [in]      SIZE_T                    Size,
  [in]      ULONG                     Tag
);

Параметры

[in] Filter

Указатель непрозрачного фильтра на драйвер минифильтра. Этот указатель однозначно идентифицирует драйвер минифильтра и остается постоянным до тех пор, пока драйвер минифильтра загружен.

[in, out] Lookaside

Указатель на непрозрачную PAGED_LOOKASIDE_LIST или NPAGED_LOOKASIDE_LIST структуру lookaside list-head. Для страничного или нестраничного списка lookaside структура list-head должна быть выделена из нестраничного пула.

[in] Flags

Определяет параметры выделения пула. Если параметр Flags содержит FSRTL_ECP_LOOKASIDE_FLAG_NONPAGED_POOL битовое значение флага, подпрограмма инициализирует список lookaside для нестраничных записей ECP указанного размера. В противном случае подпрограмма инициализирует список lookaside для постраничных записей ECP указанного размера.

[in] Size

Задает размер в байтах для всех записей ECP в списке lookaside.

[in] Tag

Указывает тег пула, используемый при выделении записей ECP списка lookaside. Дополнительные сведения о тегах пула см. в разделе Параметр Tagобъекта ExAllocatePoolWithTag.

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

None

Remarks

Используйте эту подпрограмму для инициализации страничного или нестраничного списка просмотра пула. Используйте подпрограмму FltAllocateExtraCreateParameterFromLookasideList , чтобы выделить ECP из списка lookaside, и подпрограмму FltFreeExtraCreateParameter , чтобы вернуть буфер ECP в список lookaside для повторного использования.

Используйте процедуру FltDeleteExtraCreateParameterLookasideList , чтобы освободить сам список lookaside.

Драйверы должны освободить все ecp и списки lookaside, созданные перед выгрузками.

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

Требования

Требование Значение
Минимальная версия клиента Подпрограмма FltInitExtraCreateParameterLookasideList доступна начиная с Windows Vista.
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая Fltkernel.h)
Библиотека FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

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

ECP_LIST

ExAllocatePoolWithTag

FltAllocateExtraCreateParameter

FltAllocateExtraCreateParameterFromLookasideList

FltAllocateExtraCreateParameterList

FltCreateFileEx2

FltDeleteExtraCreateParameterLookasideList

FltFreeExtraCreateParameter

FltFreeExtraCreateParameterList

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx

NPAGED_LOOKASIDE_LIST

PAGED_LOOKASIDE_LIST

PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK