Функция 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, который однозначно определяет структуру контекста 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 выполняет поиск в списке ECP, заданном параметром EcpList, на наличие структуры контекста ECP, заданной параметром EcpType. Если структура контекста 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)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также раздел

ECP_LIST

FsRtlAllocateExtraCreateParameter

FsRtlAllocateExtraCreateParameterFromLookasideList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx