Expand Minimize

FsRtlInitExtraCreateParameterLookasideList routine

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

Syntax


VOID FsRtlInitExtraCreateParameterLookasideList(
  _Inout_  PVOID Lookaside,
  _In_     FSRTL_ECP_LOOKASIDE_FLAGS Flags,
  _In_     SIZE_T Size,
  _In_     ULONG Tag
);

Parameters

Lookaside [in, out]

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

Flags [in]

Defines pool allocation options. If the Flags parameter contains the FSRTL_ECP_LOOKASIDE_FLAG_NONPAGED_POOL bit flag value, FsRtlInitExtraCreateParameterLookasideList initializes a lookaside list for nonpaged ECP entries of the specified size. Otherwise, FsRtlInitExtraCreateParameterLookasideList 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 nonpaged pool lookaside list. Use the FsRtlAllocateExtraCreateParameterFromLookasideList routine to allocate an ECP from the lookaside list, and the FsRtlFreeExtraCreateParameter routine to return an ECP buffer to the lookaside list for recycling.

Use the FsRtlDeleteExtraCreateParameterLookasideList routine to free the lookaside list itself.

Drivers must free all ECPs and lookaside lists that they create before they unload.

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

Requirements

Version

The FsRtlInitExtraCreateParameterLookasideList routine is available starting with Windows Vista.

Header

Ntifs.h (include Ntifs.h)

Library

Ntoskrnl.lib

IRQL

<= APC_LEVEL

See also

ECP_LIST
ExAllocatePoolWithTag
FsRtlAllocateExtraCreateParameterFromLookasideList
FsRtlDeleteExtraCreateParameterLookasideList
FsRtlFreeExtraCreateParameter
NPAGED_LOOKASIDE_LIST
PAGED_LOOKASIDE_LIST

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft. All rights reserved.