Função FltRemoveExtraCreateParameter (fltkernel.h)

A rotina FltRemoveExtraCreateParameter pesquisa uma lista ECP em busca de uma estrutura de contexto ECP e, se encontrada, a desanexa da lista ECP.

Sintaxe

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

Parâmetros

[in] Filter

Ponteiro de filtro opaco para o driver de minifiltro. Esse ponteiro identifica exclusivamente o driver de minifiltro e permanece constante desde que o driver de minifiltro seja carregado.

[in, out] EcpList

Ponteiro para a lista de parâmetros de criação extra (ECP) que contém a estrutura de contexto ECP a ser desanexada da lista fornecida.

[in] EcpType

Ponteiro para um GUID definido pelo usuário que identifica exclusivamente a estrutura de contexto ECP a ser desanexada da lista.

[out] EcpContext

Ponteiro para a estrutura de contexto ECP desanexada. Se a estrutura de contexto ECP for desanexada com êxito da lista fornecida, esse parâmetro será definido para apontar para a estrutura de contexto ECP desanexada. Se a estrutura de contexto ECP não for encontrada na lista ECP fornecida, esse parâmetro será definido como NULL.

[out, optional] EcpContextSize

Parâmetro opcional que recebe o tamanho da estrutura de contexto ECP desanexada. Se esse parâmetro estiver presente quando a rotina for chamada, o parâmetro receberá o tamanho, em bytes, da estrutura de contexto ECP desanexada. Se a estrutura de contexto ECP fornecida não foi encontrada na lista de ECP fornecida, esse parâmetro é indefinido.

Retornar valor

FltRemoveExtraCreateParameter retorna um dos seguintes valores NTSTATUS:

Código de retorno Descrição
STATUS_SUCCESS
A estrutura de contexto ECP fornecida foi desanexada com êxito da lista ECP fornecida.
STATUS_NOT_FOUND
A estrutura de contexto ECP fornecida não foi encontrada na lista de ECP fornecida.

Comentários

A rotina FltRemoveExtraCreateParameter pesquisa a lista ECP fornecida pelo parâmetro EcpList para uma estrutura de contexto ECP fornecida pelo parâmetro EcpType . Se a estrutura de contexto ECP existir na lista, ela será desanexada da lista, o parâmetro EcpContext será definido para apontar para ela e a rotina retornará STATUS_SUCCESS. Se a estrutura de contexto ECP não existir na lista, o parâmetro EcpContext será definido como NULL e a rotina retornará STATUS_NOT_FOUND.

Nota Essa rotina não libera o pool de memória para a estrutura de contexto ECP. Para liberar a estrutura de contexto do ECP, primeiro chame essa rotina para desanexá-la da lista e, em seguida, chame a rotina FltFreeExtraCreateParameter para liberar a própria estrutura de contexto ECP.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Essa rotina está disponível a partir do Windows Vista.
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Confira também

ECP_LIST

FltAllocateExtraCreateParameterFromLookasideList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx