FltRemoveExtraCreateParameter 函数 (fltkernel.h)

FltRemoveExtraCreateParameter 例程在 ECP 上下文结构中搜索 ECP 列表,如果找到,则将其与 ECP 列表分离。

语法

NTSTATUS FLTAPI FltRemoveExtraCreateParameter(
  [in]            PFLT_FILTER Filter,
  [in, out]       PECP_LIST   EcpList,
  [in]            LPCGUID     EcpType,
  [out]           PVOID       *EcpContext,
  [out, optional] ULONG       *EcpContextSize
);

参数

[in] Filter

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

[in, out] EcpList

指向包含要从给定列表分离的 ECP 上下文结构的额外创建参数 (ECP) 列表的指针。

[in] EcpType

指向用户定义的 GUID 的指针,该 GUID 唯一标识要从列表中分离的 ECP 上下文结构。

[out] EcpContext

指向分离的 ECP 上下文结构的指针。 如果 ECP 上下文结构已成功从给定列表分离,此参数将设置为指向分离的 ECP 上下文结构。 如果在给定的 ECP 列表中找不到 ECP 上下文结构,则此参数设置为 NULL

[out, optional] EcpContextSize

接收分离 ECP 上下文结构大小的可选参数。 如果在调用例程时存在此参数,则参数将接收分离的 ECP 上下文结构的大小(以字节为单位)。 如果在给定的 ECP 列表中找不到给定的 ECP 上下文结构,则此参数未定义。

返回值

FltRemoveExtraCreateParameter 返回以下 NTSTATUS 值之一:

返回代码 描述
STATUS_SUCCESS
给定的 ECP 上下文结构已成功与给定的 ECP 列表分离。
STATUS_NOT_FOUND
给定的 ECP 上下文结构未在给定的 ECP 列表中找到。

言论

FltRemoveExtraCreateParameter 例程搜索由 EcpList 参数提供的 ECP 列表,以获取由 EcpType 参数提供的 ECP 上下文结构。 如果列表中存在 ECP 上下文结构,则会将其与列表分离,EcpContext 参数设置为指向该结构,并且例程返回STATUS_SUCCESS。 如果列表中不存在 ECP 上下文结构,则 ecpContext 参数设置为NULL,例程返回STATUS_NOT_FOUND。

注意 此例程不会释放 ECP 上下文结构的内存池。 若要释放 ECP 上下文结构,请先调用此例程以将其从列表中分离,然后调用 FltFreeExtraCreateParameter 例程释放 ECP 上下文结构本身。
 

要求

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

另请参阅

ECP_LIST

FltAllocateExtraCreateParameterFromLookasideList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx