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 |
---|---|
|
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 |