Função FsRtlDissectDbcs (ntifs.h)
Considerando uma cadeia de caracteres ANSI ou DBCS (conjunto de caracteres duplos), o FsRtlDissectDbcs rotina retorna duas cadeias de caracteres: uma contendo o nome do primeiro arquivo encontrado na cadeia de caracteres, a outra que contém a parte não preparada restante da cadeia de caracteres pathname.
Sintaxe
void FsRtlDissectDbcs(
[in] ANSI_STRING Path,
[out] PANSI_STRING FirstName,
[out] PANSI_STRING RemainingName
);
Parâmetros
[in] Path
A cadeia de caracteres pathname a ser analisada.
[out] FirstName
Um ponteiro para o nome do primeiro arquivo na cadeia de caracteres pathname.
[out] RemainingName
Um ponteiro para a parte desparsada restante da cadeia de caracteres pathname.
Valor de retorno
Nenhum
Observações
Na cadeia de caracteres de entrada, as barras invertidas são lidas como separadores de nome. Supõe-se que o primeiro nome na cadeia de caracteres consista em todos os caracteres desde o início da cadeia de caracteres até o caractere anterior à primeira barra invertida, inclusive. Há apenas uma exceção a essa regra: se o primeiro caractere na cadeia de caracteres de entrada for uma barra invertida, esse caractere será ignorado e não aparecerá na cadeia de caracteres de saída. A parte restante da cadeia de caracteres consiste em todos os caracteres seguindo a barra invertida que segue o nome encontrado na cadeia de caracteres.
FsRtlDissectDbcs não verifica a presença de caracteres ilegais na cadeia de caracteres de entrada.
A tabela a seguir mostra valores de entrada e saída de exemplo para FsRtlDissectDbcs:
Caminho | FirstName | RemainingName |
---|---|---|
vazio | vazio | vazio |
Um | Um | vazio |
A\B\C\D\E | Um | B\C\D\E |
*Um? | *Um? | vazio |
\Um | Um | vazio |
A[,] | A[,] | vazio |
A\\B+;\C | Um | \B+;\C |
Observe que, ao retornar, os membros do buffer de
.
.
.
/*
The FsRtlDissectDbcs routine will set the members
of the following two structures appropriately:
*/
UNICODE_STRING CurrentComponent;
UNICODE_STRING RemainingComponent;
/*
Do not allocate storage for the Buffer members of CurrentComponent
and RemainingComponent in that they will point into the previously
allocated storage of FullPathName's Buffer member:
*/
FsRtlDissectDbcs (FullPathName, &CurrentComponent, &RemainingComponent);
.
.
.
Para obter informações sobre outras rotinas de tratamento de cadeias de caracteres, consulte
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 |
da Plataforma de Destino |
Universal |
cabeçalho | ntifs.h (inclua FltKernel.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL |
NtosKrnl.exe |
IRQL | <= APC_LEVEL |