Partilhar via


Função FltRemoveExtraCreateParameter (fltkernel.h)

A rotina FltRemoveExtraCreateParameter pesquisa uma lista ECP para 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 tiver sido encontrada na lista ECP fornecida, esse parâmetro será indefinido.

Valor de retorno

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 ECP fornecida.

Observações

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.

Observação Essa rotina não libera o pool de memória para a estrutura de contexto ECP. Para liberar a estrutura de contexto 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
de cliente com suporte mínimo Essa rotina está disponível a partir do Windows Vista.
da Plataforma de Destino Universal
cabeçalho fltkernel.h (inclua Fltkernel.h)
biblioteca FltMgr.lib
de DLL Fltmgr.sys
IRQL <= APC_LEVEL

Consulte também

ECP_LIST

FltAllocateExtraCreateParameterFromLookasideList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx