다음을 통해 공유


RtlFindUnicodePrefix 함수(ntifs.h)

RtlFindUnicodePrefix 루틴은 접두사 테이블에서 지정된 유니코드 파일 이름과 가장 일치하는 항목을 검색합니다.

구문

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

매개 변수

[in] PrefixTable

접두사 테이블에 대한 포인터입니다. RtlInitializeUnicodePrefix를 호출하여 테이블을 초기화해야 합니다.

[in] FullName

파일의 전체 경로 이름을 포함하는 유니코드 문자열에 대한 포인터입니다.

[in] CaseInsensitiveIndex

비교가 대/소문자를 구분하지 않는 파일 이름 및 접두사 문자열의 위치입니다. 문자열 비교는 각 문자열의 첫 번째 CaseInsensitiveIndex 문자에 대해 대/소문자를 구분하며 문자열의 나머지 부분에 대해 대/소문자를 구분하지 않습니다.

의미
0 문자열 비교는 대/소문자를 구분하지 않습니다.
1..FullName.Length-1 문자열 비교는 CaseInsensitiveIndex-1에서 CaseInsensitiveIndex-1까지의 위치에 있는 문자에 대해 대/소문자를 구분하며 CaseInsensitiveIndex 에서 문자열의 끝까지의 문자에 대해 대/소문자를 구분하지 않습니다.
FullName.Length 문자열 비교는 대/소문자를 구분합니다.

반환 값

RtlFindUnicodePrefixFullName에서 지정된 문자열에 대해 찾은 가장 긴 적절한 접두사에 대한 포인터를 반환합니다. 일치하는 접두사를 찾을 수 없는 경우 RtlFindUnicodePrefixNULL을 반환합니다.

설명

테이블의 각 접두사 항목은 파일 시스템 볼륨의 루트 디렉터리를 기준으로 하는 경로 이름입니다. 올바른 형식이 되려면 접두사는 단일 백슬래시()로 시작해야 합니다.

일치하는 접두사를 찾으면 RtlFindUnicodePrefix 는 접두사 테이블의 플레이 트리의 균형을 다시 조정합니다.

파일 시스템은 다른 Rtl을 사용하기 전에 접두사 테이블을 초기화하려면 RtlInitializeUnicodePrefix 를 호출해야 합니다 . UnicodePrefix 루틴입니다. 초기화된 접두사 테이블 구조는 불투명한 것으로 간주되어야 합니다.

Rtl의 호출자 입니다. UnicodePrefix 루틴은 접두사 테이블에 대한 액세스를 동기화하는 역할을 합니다. 빠른 뮤텍스는 이 목적을 위해 사용할 수 있는 가장 효율적인 동기화 메커니즘입니다.

다른 문자열 처리 루틴에 대한 자세한 내용은 RTL(런타임 라이브러리) 루틴을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP
지원되는 최소 서버 Windows Server 2003
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

추가 정보

RtlInitializeUnicodePrefix

RtlInsertUnicodePrefix

RtlNextUnicodePrefix

RtlRemoveUnicodePrefix

UNICODE_STRING