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 上下文结构, 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