Función RtlFindUnicodePrefix (ntifs.h)

La rutina RtlFindUnicodePrefix busca la mejor coincidencia para un nombre de archivo Unicode determinado en una tabla de prefijos.

Sintaxis

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

Parámetros

[in] PrefixTable

Puntero a la tabla de prefijos. La tabla debe haberse inicializado llamando a RtlInitializeUnicodePrefix.

[in] FullName

Puntero a una cadena Unicode que contiene el nombre de ruta de acceso completo de un archivo.

[in] CaseInsensitiveIndex

Posición en el nombre de archivo y las cadenas de prefijo en las que la comparación se va a distinguir entre mayúsculas y minúsculas. La comparación de cadenas distingue mayúsculas de minúsculas para los primeros caracteres CaseInsensitiveIndex de cada cadena, sin distinción entre mayúsculas y minúsculas durante el resto de la cadena.

Valor Significado
0 La comparación de cadenas no distingue mayúsculas de minúsculas.
1..FullName.Length-1 La comparación de cadenas distingue mayúsculas de minúsculas para los caracteres de las posiciones 0 a CaseInsensitiveIndex-1, sin distinción entre mayúsculas y minúsculas para los caracteres de la posición CaseInsensitiveIndex al final de la cadena.
FullName.Length La comparación de cadenas distingue mayúsculas de minúsculas.

Valor devuelto

RtlFindUnicodePrefix devuelve un puntero al prefijo adecuado más largo encontrado para la cadena especificada en FullName. Si no se encuentra ningún prefijo coincidente, RtlFindUnicodePrefix devuelve NULL.

Comentarios

Cada entrada de prefijo de la tabla es un nombre de ruta de acceso relativo al directorio raíz de un volumen del sistema de archivos. Para tener un formato correcto, el prefijo debe comenzar con una sola barra diagonal inversa ().

Cuando encuentra un prefijo coincidente, RtlFindUnicodePrefix reequilibra el árbol de reproducción de la tabla de prefijos.

Los sistemas de archivos deben llamar a RtlInitializeUnicodePrefix para inicializar la tabla de prefijos antes de usar cualquier otro rtl.. Rutinas UnicodePrefix en él. La estructura de la tabla de prefijo inicializada debe considerarse opaca.

Llamadores de Rtl.. Las rutinas UnicodePrefix son responsables de sincronizar el acceso a la tabla de prefijos. Una exclusión mutua rápida es el mecanismo de sincronización más eficaz que se usará para este fin.

Para obtener información sobre otras rutinas de control de cadenas, vea Rutinas de la biblioteca en tiempo de ejecución (RTL).

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP
Servidor mínimo compatible Windows Server 2003
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Consulte también

RtlInitializeUnicodePrefix

RtlInsertUnicodePrefix

RtlNextUnicodePrefix

RtlRemoveUnicodePrefix

UNICODE_STRING