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 |