Funzione FltCheckAndGrowNameControl (fltkernel.h)
La routine FltCheckAndGrowNameControl controlla se il buffer in una struttura FLT_NAME_CONTROL è sufficientemente grande da contenere il numero specificato di byte. In caso contrario, FltCheckAndGrowNameControl lo sostituisce con un buffer allocato dal sistema più grande.
Sintassi
NTSTATUS FLTAPI FltCheckAndGrowNameControl(
[in, out] PFLT_NAME_CONTROL NameCtrl,
[in] USHORT NewSize
);
Parametri
[in, out] NameCtrl
Puntatore a una struttura FLT_NAME_CONTROL contenente informazioni sul nome file.
[in] NewSize
Dimensioni obbligatorie, in byte, del nuovo buffer di controllo dei nomi.
Valore restituito
FltCheckAndGrowNameControl restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio il seguente:
Codice restituito | Descrizione |
---|---|
|
Memoria insufficiente nel pool libero per soddisfare la richiesta. |
Osservazioni
I driver minifiltro non devono tentare di liberare o sostituire il buffer nel Nome membro di una struttura FLT_NAME_CONTROL direttamente. I driver minifilter devono invece chiamare FltCheckAndGrowNameControl per ottenere un buffer dei nomi più grande.
Se le dimensioni, in byte, del buffer nella struttura NameCtrl è minore del valore del parametro NewSize, FltCheckAndGrowNameControl lo sostituisce con un buffer allocato dal sistema più grande. FltCheckAndGrowNameControl copia il contenuto del buffer precedente nel nuovo buffer e libera il vecchio buffer.
Se le dimensioni, in byte, del buffer nella struttura NameCtrl è maggiore o uguale al valore del parametro NewSize, FltCheckAndGrowNameControl restituisce STATUS_SUCCESS e non sostituisce il buffer.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | fltkernel.h (include Fltkernel.h) |
libreria | FltMgr.lib |
IRQL | <= APC_LEVEL |