Função FltParseFileName (fltkernel.h)

FltParseFileName analisa a extensão, o fluxo e o componente final de uma cadeia de caracteres de nome de arquivo.

Sintaxe

NTSTATUS FLTAPI FltParseFileName(
  [in]      PCUNICODE_STRING FileName,
  [in, out] PUNICODE_STRING  Extension,
  [in, out] PUNICODE_STRING  Stream,
  [in, out] PUNICODE_STRING  FinalComponent
);

Parâmetros

[in] FileName

Ponteiro para uma estrutura UNICODE_STRING que contém a cadeia de caracteres a ser analisada como um nome de arquivo. Esse parâmetro é necessário e não pode ser NULL.

[in, out] Extension

Ponteiro para uma estrutura UNICODE_STRING que recebe a extensão analisada da cadeia de caracteres FileName . Se nenhuma extensão for encontrada, FltParseFileNamedefinirá Extension.Buffer como NULL e Extension.Length como zero. Caso contrário, Extension.Buffer receberá um ponteiro para o início da extensão em FileName.Buffer e Extension.Length receberá o comprimento, em bytes, da extensão. Esse parâmetro é opcional e pode ser NULL.

[in, out] Stream

Ponteiro para uma estrutura UNICODE_STRING que recebe o nome do fluxo analisado da cadeia de caracteres FileName . Se nenhum nome de fluxo for encontrado, FltParseFileName definirá Stream. Buffer para NULL e Stream. Comprimento até zero. Caso contrário, Stream. O buffer recebe um ponteiro para o início do nome do fluxo em FileName.Buffer e Stream. Length recebe o comprimento, em bytes, do nome do fluxo. Esse parâmetro é opcional e pode ser NULL.

[in, out] FinalComponent

Ponteiro para uma estrutura UNICODE_STRING que recebe o componente de nome final analisado da cadeia de caracteres FileName . Se nenhum componente final for encontrado, FltParseFileName definirá FinalComponent.Buffer como NULL e FinalComponent.Length como zero. Caso contrário, FinalComponent.Buffer receberá um ponteiro para o início do componente final em FileName.Buffer e FinalComponent.Length receberá o comprimento, em bytes, do componente final. Esse parâmetro é opcional e pode ser NULL.

Retornar valor

FltParseFileName retorna STATUS_SUCCESS ou um código de erro NTSTATUS apropriado.

Comentários

FltParseFileName analisa a extensão, o nome do fluxo e o componente final de uma cadeia de caracteres de nome de arquivo. O nome do arquivo não precisa ser normalizado nem um nome de caminho completo. Se o nome do arquivo for um nome de arquivo curto, FltParseFileName analisará apenas a extensão.

Veja a seguir um exemplo de um nome normalizado para um arquivo local:

\Device\HarddiskVolume1\Documents and Settings\MyUser\My Documents\Test Results.txt:stream1

FltParseFileName analisa esse nome normalizado da seguinte maneira:

Extensão: "txt"

Stream: ":stream1"

FinalComponent: "Test Results.txt:stream1"

Veja a seguir um exemplo de um nome curto para um arquivo:

TestRe~1.txt

FltParseFileName analisa esse nome curto da seguinte maneira:

Extensão: "txt"

Stream: NULL

FinalComponent: "TestRe~1.txt"

Para obter mais informações sobre normalização de nome de arquivo e análise de nome de arquivo, consulte FLT_FILE_NAME_INFORMATION.

Para analisar o conteúdo de uma estrutura FLT_FILE_NAME_INFORMATION, chame FltParseFileNameInformation.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows XP com Service Pack 2 (SP2) e versões posteriores do sistema operacional Windows.
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Confira também

FLT_FILE_NAME_INFORMATION

FltParseFileNameInformation

UNICODE_STRING