Função RtlFindUnicodePrefix (ntifs.h)

A rotina RtlFindUnicodePrefix pesquisa a melhor correspondência para um determinado nome de arquivo Unicode em uma tabela de prefixo.

Sintaxe

NTSYSAPI PUNICODE_PREFIX_TABLE_ENTRY RtlFindUnicodePrefix(
  [in] PUNICODE_PREFIX_TABLE PrefixTable,
  [in] PCUNICODE_STRING      FullName,
  [in] ULONG                 CaseInsensitiveIndex
);

Parâmetros

[in] PrefixTable

Ponteiro para a tabela de prefixo. A tabela deve ter sido inicializada chamando RtlInitializeUnicodePrefix.

[in] FullName

Ponteiro para uma cadeia de caracteres Unicode que contém o nome de caminho completo de um arquivo.

[in] CaseInsensitiveIndex

Posicione no nome do arquivo e nas cadeias de caracteres de prefixo nas quais a comparação se tornará sem diferenciação de maiúsculas e minúsculas. A comparação de cadeia de caracteres diferencia maiúsculas de minúsculas para os primeiros caracteres CaseInsensitiveIndex em cada cadeia de caracteres, sem diferenciar maiúsculas de minúsculas para o restante da cadeia de caracteres.

Valor Significado
0 A comparação de cadeia de caracteres não diferencia maiúsculas de minúsculas.
1..FullName.Length-1 A comparação de cadeia de caracteres diferencia maiúsculas de minúsculas para caracteres nas posições 0 até CaseInsensitiveIndex-1, sem diferenciação de maiúsculas e minúsculas para caracteres da posição CaseInsensitiveIndex até o final da cadeia de caracteres.
FullName.Length A comparação de cadeia de caracteres diferencia maiúsculas de minúsculas.

Retornar valor

RtlFindUnicodePrefix retorna um ponteiro para o prefixo apropriado mais longo encontrado para a cadeia de caracteres fornecida em FullName. Se nenhum prefixo correspondente for encontrado, RtlFindUnicodePrefix retornará NULL.

Comentários

Cada entrada de prefixo na tabela é um nome de caminho relativo ao diretório raiz de um volume do sistema de arquivos. Para ser bem formado, o prefixo deve começar com uma única barra invertida ().

Quando encontra um prefixo correspondente, RtlFindUnicodePrefix rebalancea a árvore de reprodução da tabela de prefixo.

Os sistemas de arquivos devem chamar RtlInitializeUnicodePrefix para inicializar a tabela de prefixo antes de usar qualquer outro Rtl.. Rotinas UnicodePrefix nele. A estrutura inicializada da tabela de prefixo deve ser considerada opaca.

Chamadores do Rtl. Rotinas UnicodePrefix são responsáveis por sincronizar o acesso à tabela de prefixo. Um mutex rápido é o mecanismo de sincronização mais eficiente a ser usado para essa finalidade.

Para obter informações sobre outras rotinas de tratamento de cadeia de caracteres, consulte Rotinas rtl (biblioteca em tempo de execução).

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP
Servidor mínimo com suporte Windows Server 2003
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Confira também

RtlInitializeUnicodePrefix

RtlInsertUnicodePrefix

RtlNextUnicodePrefix

RtlRemoveUnicodePrefix

UNICODE_STRING