FltInitExtraCreateParameterLookasideList - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// fltkernel.h

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

View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-fltkernel-fltinitextracreateparameterlookasidelist)

FltInitExtraCreateParameterLookasideList function

Description

The FltInitExtraCreateParameterLookasideList routine initializes a paged or non-paged pool lookaside list used for the allocation of one or more extra create parameter context structures (ECPs) of fixed size.

Parameters

Filter [in]

Opaque filter pointer to the minifilter driver. This pointer uniquely identifies the minifilter driver and remains constant as long as the minifilter driver is loaded.

Lookaside [in, out]

Pointer to an opaque PAGED_LOOKASIDE_LIST or NPAGED_LOOKASIDE_LIST lookaside list-head structure. For a paged or non-paged lookaside list, the list-head structure must be allocated from non-paged pool.

Flags [in]

Defines pool allocation options. If the Flags parameter contains the FSRTL_ECP_LOOKASIDE_FLAG_NONPAGED_POOL bit flag value, the routine initializes a lookaside list for non-paged ECP entries of the specified size. Otherwise, the routine initializes a lookaside list for paged ECP entries of the specified size.

Size [in]

Specifies the size, in bytes, for all ECP entries in the lookaside list.

Tag [in]

Specifies the pool tag to use when allocating lookaside list ECP entries. For more information about pool tags, see the Tag parameter of ExAllocatePoolWithTag.

Return value

None

Remarks

Use this routine to initialize a paged or non-paged pool lookaside list. Use the FltAllocateExtraCreateParameterFromLookasideList routine to allocate an ECP from the lookaside list, and the FltFreeExtraCreateParameter routine to return an ECP buffer to the lookaside list for recycling.

Use the FltDeleteExtraCreateParameterLookasideList routine to free the lookaside list itself.

Drivers must free all ECPs and lookaside lists that they created before unloading.

For more information on using lookaside lists with drivers, see Using Lookaside Lists.

See also

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