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 |