Funzione FltParseFileName (fltkernel.h)
FltParseFileName analizza l'estensione, il flusso e il componente finale da una stringa di nome file.
Sintassi
NTSTATUS FLTAPI FltParseFileName(
[in] PCUNICODE_STRING FileName,
[in, out] PUNICODE_STRING Extension,
[in, out] PUNICODE_STRING Stream,
[in, out] PUNICODE_STRING FinalComponent
);
Parametri
[in] FileName
Puntatore a una struttura UNICODE_STRING contenente la stringa da analizzare come nome file. Questo parametro è obbligatorio e non può essere NULL.
[in, out] Extension
Puntatore a una struttura UNICODE_STRING che riceve l'estensione analizzata dalla stringa FileName . Se non viene trovata alcuna estensione, FltParseFileName imposta Extension.Buffer su NULL e Extension.Length su zero. In caso contrario, Extension.Buffer riceve un puntatore all'inizio dell'estensione in FileName.Buffer e Extension.Length riceve la lunghezza, in byte, dell'estensione. Questo parametro è facoltativo e può essere NULL.
[in, out] Stream
Puntatore a una struttura UNICODE_STRING che riceve il nome del flusso analizzato dalla stringa FileName . Se non viene trovato alcun nome di flusso, FltParseFileName imposta Stream. Buffer su NULL e Stream. Lunghezza su zero. In caso contrario, Stream. Il buffer riceve un puntatore all'inizio del nome del flusso in FileName.Buffer e Stream. La lunghezza riceve la lunghezza, in byte, del nome del flusso. Questo parametro è facoltativo e può essere NULL.
[in, out] FinalComponent
Puntatore a una struttura UNICODE_STRING che riceve il componente del nome finale analizzato dalla stringa FileName . Se non viene trovato alcun componente finale, FltParseFileName imposta FinalComponent.Buffer su NULL e FinalComponent.Length su zero. In caso contrario, FinalComponent.Buffer riceve un puntatore all'inizio del componente finale in FileName.Buffer e FinalComponent.Length riceve la lunghezza, in byte, del componente finale. Questo parametro è facoltativo e può essere NULL.
Valore restituito
FltParseFileName restituisce STATUS_SUCCESS o un codice di errore NTSTATUS appropriato.
Commenti
FltParseFileName analizza l'estensione, il nome del flusso e il componente finale da una stringa di nome file. Il nome del file non deve essere normalizzato o un nome di percorso completo. Se il nome del file è un nome di file breve, FltParseFileName analizza solo l'estensione.
Di seguito è riportato un esempio di nome normalizzato per un file locale:
\Device\HarddiskVolume1\Documents and Settings\MyUser\My Documents\Test Results.txt:stream1
FltParseFileName analizza questo nome normalizzato come indicato di seguito:
Estensione: "txt"
Stream: ":stream1"
FinalComponent: "Test Results.txt:stream1"
Di seguito è riportato un esempio di nome breve per un file:
TestRe~1.txt
FltParseFileName analizza questo breve nome come indicato di seguito:
Estensione: "txt"
Stream: NULL
FinalComponent: "TestRe~1.txt"
Per altre informazioni sulla normalizzazione dei nomi file e sull'analisi dei nomi file, vedere FLT_FILE_NAME_INFORMATION.
Per analizzare il contenuto di una struttura FLT_FILE_NAME_INFORMATION, chiamare FltParseFileNameInformation.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows XP con Service Pack 2 (SP2) e versioni successive del sistema operativo Windows. |
Piattaforma di destinazione | Universale |
Intestazione | fltkernel.h (includere Fltkernel.h) |
Libreria | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |