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 che contiene 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.Buffere 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.Length su zero. In caso contrario, Stream.Buffer riceve un puntatore all'inizio del nome del flusso in NomeFile.Buffere Stream.Length 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 NomeFile. 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.Buffere 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.
Osservazioni
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 di file, vedere FLT_FILE_NAME_INFORMATION.
Per analizzare il contenuto di una struttura di FLT_FILE_NAME_INFORMATION, chiamare FltParseFileNameInformation.
Fabbisogno
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 (include Fltkernel.h) |
libreria | FltMgr.lib |
dll | Fltmgr.sys |
IRQL | <= APC_LEVEL |