FltGetNextExtraCreateParameter function (fltkernel.h)

The FltGetNextExtraCreateParameter routine returns a pointer to the next (or first) extra create parameter context structure (ECP) in a given ECP list.

Syntax

NTSTATUS FLTAPI FltGetNextExtraCreateParameter(
  [in]            PFLT_FILTER Filter,
  [in]            PECP_LIST   EcpList,
  [in, optional]  PVOID       CurrentEcpContext,
  [out, optional] LPGUID      NextEcpType,
  [out, optional] PVOID       *NextEcpContext,
  [out, optional] ULONG       *NextEcpContextSize
);

Parameters

[in] Filter

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.

[in] EcpList

Pointer to the ECP list to examine.

[in, optional] CurrentEcpContext

Optional pointer to an ECP in the given ECP list. If present, FltGetNextExtraCreateParameter returns the ECP after the CurrentEcpContext ECP. If CurrentEcpContext is NULL, FltGetNextExtraCreateParameter returns the first ECP in the list.

[out, optional] NextEcpType

Optional parameter that receives a pointer to the GUID of the returned ECP.

[out, optional] NextEcpContext

Optional parameter that receives a pointer to the returned ECP.

[out, optional] NextEcpContextSize

Optional parameter that receives the size, in bytes, of the returned ECP.

Return value

FltGetNextExtraCreateParameter returns one of the following NTSTATUS values:

Return code Description
STATUS_SUCCESS
An ECP was found in the EcpList ECP list.
STATUS_NOT_FOUND
The EcpList ECP list is empty or CurrentEcpContext is the last ECP in the list that is, there is no next ECP list element). Additionally, NextEcpContext is set to NULL and NextEcpContextSize is set to zero.
STATUS_INVALID_PARAMETER
The EcpList parameter is NULL.

Remarks

This routine is available starting with Windows Vista.

TheFltGetNextExtraCreateParameter routine processes an ECP list in a non-circular manner. That is, if the ECP pointed to by the CurrentEcpContext parameter is the last ECP element in the ECP list, there is no "next" ECP in the list and the routine returns STATUS_NOT_FOUND.

Requirements

Requirement Value
Minimum supported client This routine is available starting with Windows Vista.
Target Platform Universal
Header fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

See also

ECP_LIST

FltAllocateExtraCreateParameter

FltAllocateExtraCreateParameterFromLookasideList

FltAllocateExtraCreateParameterList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltFreeExtraCreateParameterList

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx

Using GUIDs in Drivers