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

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

[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 上下文结构, FsRtlRemoveExtraCreateParameter 会将 EcpContext 参数设置为 NULL 并返回STATUS_NOT_FOUND。

注意

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

要求

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

另请参阅

ECP_LIST

FsRtlAllocateExtraCreateParameter

FsRtlAllocateExtraCreateParameterFromLookasideList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx