FsRtlRemoveExtraCreateParameter 函数 (ntifs.h)

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

语法

NTSTATUS FsRtlRemoveExtraCreateParameter(
  [in, out]       PECP_LIST EcpList,
  [in]            LPCGUID   EcpType,
  [out]           PVOID     *EcpContext,
  [out, optional] ULONG     *EcpContextSize
);

参数

[in, out] EcpList

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

[in] EcpType

指向唯一标识要从列表中分离的 ECP 上下文结构的 GUID 的指针。

[out] EcpContext

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

[out, optional] EcpContextSize

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

返回值

FsRtlRemoveExtraCreateParameter 返回 NTSTATUS 代码,例如以下代码之一:

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

言论

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

注意

FsRtlRemoveExtraCreateParameter 不会释放 ECP 上下文结构的内存池。 若要释放 ECP 上下文结构的内存池,请先调用 FsRtlRemoveExtraCreateParameter 将其与列表分离,然后调用 FltFreeExtraCreateParameter 例程释放 ECP 上下文结构的内存池。

要求

要求 价值
最低支持的客户端 FsRtlRemoveExtraCreateParameter 例程从 Windows Vista 开始可用。
目标平台 普遍
标头 ntifs.h (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另请参阅

ECP_LIST

FsRtlAllocateExtraCreateParameter

FsRtlAllocateExtraCreateParameterFromLookasideList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx