FltGetNextExtraCreateParameter 函数 (fltkernel.h)

FltGetNextExtraCreateParameter 例程返回指向给定 ECP 列表中的下一个(或第一个)额外创建参数上下文结构(ECP)的指针。

语法

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
);

参数

[in] Filter

指向微型筛选器驱动程序的不透明筛选器指针。 此指针唯一标识微型筛选器驱动程序,只要加载微型筛选器驱动程序,该驱动程序就保持不变。

[in] EcpList

指向要检查的 ECP 列表的指针。

[in, optional] CurrentEcpContext

指向给定 ECP 列表中的 ECP 的可选指针。 如果存在,FltGetNextExtraCreateParameterCurrentEcpContext ECP 后返回 ECP。 如果 CurrentEcpContext为 NULLFltGetNextExtraCreateParameter 返回列表中的第一个 ECP。

[out, optional] NextEcpType

可选参数,该参数接收指向返回的 ECP 的 GUID 的指针。

[out, optional] NextEcpContext

接收指向返回的 ECP 的指针的可选参数。

[out, optional] NextEcpContextSize

接收返回的 ECP 的大小(以字节为单位)的可选参数。

返回值

FltGetNextExtraCreateParameter 返回以下 NTSTATUS 值之一:

返回代码 描述
STATUS_SUCCESS
ecpList ECP 列表中发现了 ECP。
STATUS_NOT_FOUND
EcpList ECP 列表为空或 CurrentEcpContext 是列表中最后一个 ECP,即没有下一个 ECP 列表元素)。 此外,NextEcpContext 设置为 NULLNextEcpContextSize 设置为零。
STATUS_INVALID_PARAMETER
EcpList 参数 NULL

言论

此例程从 Windows Vista 开始可用。

FltGetNextExtraCreateParameter 例程以非循环方式处理 ECP 列表。 也就是说,如果 CurrentEcpContext 参数指向的 ECP 是 ECP 列表中的最后一个 ECP 元素,列表中没有“下一步”ECP,并且例程返回STATUS_NOT_FOUND。

要求

要求 价值
最低支持的客户端 此例程从 Windows Vista 开始可用。
目标平台 普遍
标头 fltkernel.h (包括 Fltkernel.h)
FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另请参阅

ECP_LIST

FltAllocateExtraCreateParameter

FltAllocateExtraCreateParameterFromLookasideList

FltAllocateExtraCreateParameterList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltFreeExtraCreateParameterList

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx

在驱动程序 中使用 GUID