FltCheckAndGrowNameControl-Funktion (fltkernel.h)

Die FltCheckAndGrowNameControl-Routine überprüft, ob der Puffer in einer FLT_NAME_CONTROL-Struktur groß genug ist, um die angegebene Anzahl von Bytes aufzunehmen. Andernfalls ersetzt FltCheckAndGrowNameControl ihn durch einen größeren vom System zugewiesenen Puffer.

Syntax

NTSTATUS FLTAPI FltCheckAndGrowNameControl(
  [in, out] PFLT_NAME_CONTROL NameCtrl,
  [in]      USHORT            NewSize
);

Parameter

[in, out] NameCtrl

Zeiger auf eine FLT_NAME_CONTROL-Struktur , die Dateinameninformationen enthält.

[in] NewSize

Erforderliche Größe des neuen Namenssteuerungspuffers in Byte.

Rückgabewert

FltCheckAndGrowNameControl gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert wie den folgenden zurück:

Rückgabecode Beschreibung
STATUS_INSUFFICIENT_RESOURCES
Im freien Pool ist nicht genügend Arbeitsspeicher vorhanden, um die Anforderung zu erfüllen.

Hinweise

Minifiltertreiber dürfen nicht versuchen, den Puffer im Member Name einer FLT_NAME_CONTROL-Struktur direkt frei zu geben oder zu ersetzen. Stattdessen sollten Minifiltertreiber FltCheckAndGrowNameControl aufrufen, um einen größeren Namenspuffer zu erhalten.

Wenn die Größe des Puffers in Byte in der NameCtrl-Struktur kleiner als der Wert des NewSize-Parameters ist, ersetzt FltCheckAndGrowNameControl ihn durch einen größeren systemseitig zugeordneten Puffer. FltCheckAndGrowNameControl kopiert den Inhalt des alten Puffers in den neuen Puffer und gibt den alten Puffer frei.

Wenn die Größe des Puffers in Byte in der NameCtrl-Struktur größer oder gleich dem Wert des NewSize-Parameters ist, gibt FltCheckAndGrowNameControl STATUS_SUCCESS zurück und ersetzt den Puffer nicht.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltkernel.h (fltkernel.h einschließen)
Bibliothek FltMgr.lib
IRQL <= APC_LEVEL

Weitere Informationen

FLT_NAME_CONTROL

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod