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

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

Синтаксис

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 структура головки списка должна быть выделена из нестраничного пула.

[in] Flags

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

[in] Size

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

[in] Tag

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

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

Никакой

Замечания

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

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Подпрограмма FltInitExtraCreateParameterLookasideList доступна начиная с Windows Vista.
целевая платформа Всеобщий
заголовка fltkernel.h (include 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