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 |
另请参阅
FsRtlAllocateExtraCreateParameter