Freigeben über


FltRemoveExtraCreateParameter-Funktion (fltkernel.h)

Die FltRemoveExtraCreateParameter-Routine durchsucht eine ECP-Liste nach einer ECP-Kontextstruktur und löst sie, falls gefunden, 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

Zeiger auf die Liste extra create parameter (ECP), die die ECP-Kontextstruktur enthält, die von der angegebenen Liste getrennt werden soll.

[in] EcpType

Zeiger 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 wurde, 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 beim Aufruf der Routine vorhanden ist, empfängt der Parameter die Größe der getrennten ECP-Kontextstruktur in Bytes. Wenn die angegebene ECP-Kontextstruktur nicht in der angegebenen ECP-Liste 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.

Hinweise

Die FltRemoveExtraCreateParameter-Routine durchsucht die vom EcpList-Parameter angegebene ECP-Liste nach einer ECP-Kontextstruktur, 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 auf sie 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.

Hinweis Diese Routine gibt den Speicherpool nicht für die ECP-Kontextstruktur frei. Um die ECP-Kontextstruktur frei zu geben, rufen Sie zuerst diese Routine auf, um sie von der Liste zu trennen, und rufen Sie dann die FltFreeExtraCreateParameter-Routine auf, um die ECP-Kontextstruktur selbst frei zu geben.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Diese Routine ist ab Windows Vista verfügbar.
Zielplattform Universell
Header fltkernel.h (include Fltkernel.h)
Bibliothek FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Weitere Informationen

ECP_LIST

FltAllocateExtraCreateParameterFromLookasideList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx