Функция FltRemoveExtraCreateParameter (fltkernel.h)

FltRemoveExtraCreateParameter выполняет поиск списка ECP для структуры контекста ECP и при обнаружении отсоединяет его от списка ECP.

Синтаксис

NTSTATUS FLTAPI FltRemoveExtraCreateParameter(
  [in]            PFLT_FILTER Filter,
  [in, out]       PECP_LIST   EcpList,
  [in]            LPCGUID     EcpType,
  [out]           PVOID       *EcpContext,
  [out, optional] ULONG       *EcpContextSize
);

Параметры

[in] Filter

Указатель непрозрачного фильтра для драйвера мини-фильтра. Этот указатель однозначно идентифицирует драйвер минифильтра и остается константой до тех пор, пока драйвер минифильтра загружается.

[in, out] EcpList

Указатель на дополнительный список параметров создания (ECP), содержащий структуру контекста ECP, отсоединяемую от заданного списка.

[in] EcpType

Указатель на определяемый пользователем GUID, который однозначно определяет структуру контекста ECP, отсоединяемую от списка.

[out] EcpContext

Указатель на отсоединяемую структуру контекста ECP. Если структура контекста ECP успешно отсоединяется от заданного списка, этот параметр будет указывать на отсоединяемую структуру контекста ECP. Если структура контекста ECP не найдена в указанном списке ECP, этот параметр имеет значение NULL.

[out, optional] EcpContextSize

Необязательный параметр, получающий размер отсоединяемой структуры контекста ECP. Если этот параметр присутствует при вызове подпрограммы, параметр получит размер в байтах отсоединяемой структуры контекста ECP. Если указанная структура контекста ECP не найдена в указанном списке ECP, этот параметр не определен.

Возвращаемое значение

FltRemoveExtraCreateParameter возвращает одно из следующих значений NTSTATUS:

Возвращаемый код Описание
STATUS_SUCCESS
Указанная структура контекста ECP успешно отключена от заданного списка ECP.
STATUS_NOT_FOUND
Указанная структура контекста ECP не найдена в указанном списке ECP.

Замечания

Подпрограмма FltRemoveExtraCreateParameter выполняет поиск списка ECP, заданного параметром EcpList для структуры контекста ECP, заданной параметром EcpType. Если структура контекста ECP существует в списке, она отсоединяется от списка, параметр EcpContext указывает на него, а подпрограмма возвращает STATUS_SUCCESS. Если структура контекста ECP не существует в списке, параметр EcpContext имеет значение NULL, а подпрограмма возвращает STATUS_NOT_FOUND.

примечание Эта подпрограмма не освобождает пул памяти для структуры контекста ECP. Чтобы освободить структуру контекста ECP, сначала вызовите эту подпрограмму, чтобы отключить ее от списка, а затем вызвать процедуру FltFreeExtraCreateParameter, чтобы освободить саму структуру контекста ECP.
 

Требования

Требование Ценность
минимальные поддерживаемые клиентские Эта подпрограмма доступна начиная с Windows Vista.
целевая платформа Всеобщий
заголовка fltkernel.h (include Fltkernel.h)
библиотеки FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

См. также

ECP_LIST

FltAllocateExtraCreateParameterFromLookasideList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx