Freigeben über


FltRemoveExtraCreateParameter-Funktion (fltkernel.h)

Die FltRemoveExtraCreateParameter Routine durchsucht eine ECP-Liste nach einer ECP-Kontextstruktur und trennt sie bei Bedarf aus der ECP-Liste.

Syntax

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

Parameter

[in] Filter

Undurchsichtiger Filterzeiger für den Minifiltertreiber. Dieser Zeiger identifiziert den Minifiltertreiber eindeutig und bleibt konstant, solange der Minifiltertreiber geladen wird.

[in, out] EcpList

Zeigen Sie auf die zusätzliche Create-Parameterliste (ECP), die die ECP-Kontextstruktur enthält, die von der angegebenen Liste getrennt werden soll.

[in] EcpType

Zeigen Sie auf eine benutzerdefinierte GUID, die die ECP-Kontextstruktur eindeutig identifiziert, die von der Liste getrennt werden soll.

[out] EcpContext

Zeiger auf die getrennte ECP-Kontextstruktur. Wenn die ECP-Kontextstruktur erfolgreich von der angegebenen Liste getrennt wird, wird dieser Parameter so festgelegt, dass er auf die getrennte ECP-Kontextstruktur verweist. Wenn die ECP-Kontextstruktur in der angegebenen ECP-Liste nicht gefunden wird, wird dieser Parameter auf NULL-festgelegt.

[out, optional] EcpContextSize

Optionaler Parameter, der die Größe der getrennten ECP-Kontextstruktur empfängt. Wenn dieser Parameter vorhanden ist, wenn die Routine aufgerufen wird, empfängt der Parameter die Größe der getrennten ECP-Kontextstruktur in Bytes. Wenn die angegebene ECP-Kontextstruktur in der angegebenen ECP-Liste nicht gefunden wurde, ist dieser Parameter nicht definiert.

Rückgabewert

FltRemoveExtraCreateParameter gibt einen der folgenden NTSTATUS-Werte zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS
Die angegebene ECP-Kontextstruktur wurde erfolgreich von der angegebenen ECP-Liste getrennt.
STATUS_NOT_FOUND
Die angegebene ECP-Kontextstruktur wurde in der angegebenen ECP-Liste nicht gefunden.

Bemerkungen

Die FltRemoveExtraCreateParameter Routine durchsucht die ECP-Liste, die vom EcpList Parameter für eine ECP-Kontextstruktur angegeben wird, die vom EcpType Parameter angegeben wird. Wenn die ECP-Kontextstruktur in der Liste vorhanden ist, wird sie von der Liste getrennt, der EcpContext Parameter wird so festgelegt, dass er darauf verweist, und die Routine gibt STATUS_SUCCESS zurück. Wenn die ECP-Kontextstruktur in der Liste nicht vorhanden ist, wird der EcpContext Parameter auf NULL- festgelegt, und die Routine gibt STATUS_NOT_FOUND zurück.

Note This routine does not free the memory pool for the ECP context structure. Um die ECP-Kontextstruktur freizugeben, rufen Sie diese Routine zuerst auf, um sie von der Liste zu trennen, und rufen Sie dann die FltFreeExtraCreateParameter Routine auf, um die ECP-Kontextstruktur selbst freizugeben.
 

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Diese Routine ist ab Windows Vista verfügbar.
Zielplattform- Universal
Header- fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
DLL- Fltmgr.sys
IRQL- <= APC_LEVEL

Siehe auch

ECP_LIST

FltAllocateExtraCreateParameterFromLookasideList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx-