FltInitExtraCreateParameterLookasideList 函数 (fltkernel.h)

FltInitExtraCreateParameterLookasideList 例程初始化一个分页或非分页池旁视列表,该列表用于分配一个或多个额外的创建参数上下文结构, (固定大小的 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_LISTNPAGED_LOOKASIDE_LIST 旁视列表头结构的指针。 对于分页或非分页的旁视列表,必须从非分页池分配列表头结构。

[in] Flags

定义池分配选项。 如果 Flags 参数包含FSRTL_ECP_LOOKASIDE_FLAG_NONPAGED_POOL位标志值,则例程将初始化指定大小的非分页 ECP 条目的旁观列表。 否则,该例程将初始化指定大小的分页 ECP 条目的旁观列表。

[in] Size

指定旁视列表中所有 ECP 条目的大小(以字节为单位)。

[in] Tag

指定在分配查看列表 ECP 条目时要使用的池标记。 有关池标记的详细信息,请参阅 ExAllocatePoolWithTagTag 参数。

返回值

备注

使用此例程初始化分页或非分页池旁观列表。 使用 FltAllocateExtraCreateParameterFromLookasideList 例程从 lookaside 列表中分配 ECP,使用 FltFreeExtraCreateParameter 例程将 ECP 缓冲区返回到 lookaside 列表进行回收。

使用 FltDeleteExtraCreateParameterLookasideList 例程释放 lookaside 列表本身。

驱动程序必须在卸载之前释放其创建的所有 ECP 和旁观列表。

有关将 lookaside 列表与驱动程序配合使用的详细信息,请参阅使用 Lookaside Lists

要求

要求
最低受支持的客户端 FltInitExtraCreateParameterLookasideList 例程从 Windows Vista 开始可用。
目标平台 通用
标头 fltkernel.h (包括 Fltkernel.h)
Library 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