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


Функция 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