FsRtlGetNextExtraCreateParameter 函数 (ntifs.h)

FsRtlGetNextExtraCreateParameter 例程返回指向给定 ECP 列表中的下一个 (或第一个) 额外创建参数 (ECP) 上下文结构的指针。

语法

NTSTATUS FsRtlGetNextExtraCreateParameter(
  [in]            PECP_LIST EcpList,
  [in, optional]  PVOID     CurrentEcpContext,
  [out, optional] LPGUID    NextEcpType,
  [out]           PVOID     *NextEcpContext,
  [out, optional] ULONG     *NextEcpContextSize
);

参数

[in] EcpList

指向要检查的 ECP 列表的指针。

[in, optional] CurrentEcpContext

指向给定 ECP 列表中的 ECP 上下文结构的可选指针。 如果存在, FsRtlGetNextExtraCreateParameterCurrentEcpContext ECP 上下文结构之后返回指向 ECP 的指针。 如果 CurrentEcpContextNULL,FsRtlGetNextExtraCreateParameter 将返回列表中的第一个 ECP 上下文结构。

[out, optional] NextEcpType

可选参数,用于接收指向返回的 ECP 上下文结构的 GUID 的指针。

[out] NextEcpContext

可选参数,用于接收指向返回的 ECP 上下文结构的指针。

[out, optional] NextEcpContextSize

可选参数,用于接收返回的 ECP 上下文结构的大小(以字节为单位)。

返回值

FsRtlGetNextExtraCreateParameter 返回以下 NTSTATUS 值之一:

返回代码 说明
STATUS_SUCCESS
FsRtlGetNextExtraCreateParameter 在 EcpList ECP 列表中发现了 ECP 上下文结构。
STATUS_NOT_FOUND
EcpList ECP 列表为空或 CurrentEcpContext 是列表中的最后一个 ECP (即没有下一个 ECP list 元素) 。 此外,NextEcpContext 设置为 NULL,NextEcpContextSize 设置为零。
STATUS_INVALID_PARAMETER
EcpList 参数为 NULL

注解

FsRtlGetNextExtraCreateParameter 例程以非循环方式处理 ECP 列表。 也就是说,如果 CurrentEcpContext 参数指向的 ECP 上下文结构是 ECP 列表中的最后一个元素,则列表中没有“next”ECP,并且例程返回STATUS_NOT_FOUND。

要求

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

另请参阅

ECP_LIST

FltAllocateExtraCreateParameter

FltAllocateExtraCreateParameterFromLookasideList

FltAllocateExtraCreateParameterList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltFreeExtraCreateParameterList

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx