Partilhar via


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 de 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 de UNICODE_STRING que recebe a extensão analisada da cadeia de caracteres FileName. Se nenhuma extensão for encontrada, FltParseFileName definirá Extension.Buffer para NULL e Extension.Length a zero. Caso contrário, Extension.Buffer recebe um ponteiro para o início da extensão em FileName.Buffer e Extension.Length recebe o comprimento, em bytes, da extensão. Esse parâmetro é opcional e pode ser NULL.

[in, out] Stream

Ponteiro para uma estrutura de 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.Length como zero. Caso contrário, Stream.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 de 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 para NULL e FinalComponent.Length como zero. Caso contrário, FinalComponent.Buffer recebe um ponteiro para o início do componente final em FileName.Buffere FinalComponent.Length recebe o comprimento, em bytes, do componente final. Esse parâmetro é opcional e pode ser NULL.

Valor de retorno

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

Observações

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 é necessário para ser normalizado ou 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:

de Extensão: "txt"

Stream: ":stream1"

FinalComponent: "Testar Results.txt:stream1"

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

TestRe~1.txt

FltParseFileName analisa este nome curto da seguinte maneira:

de 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 de FLT_FILE_NAME_INFORMATION, chame FltParseFileNameInformation .

Requisitos

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

Consulte também

FLT_FILE_NAME_INFORMATION

FltParseFileNameInformation

UNICODE_STRING