Condividi tramite


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

Vedere anche

FLT_FILE_NAME_INFORMATION

FltParseFileNameInformation

UNICODE_STRING