FsRtlFindInTunnelCache 함수(ntifs.h)
FsRtlFindInTunnelCache 루틴은 터널 캐시에서 지정된 이름과 일치하는 항목을 검색합니다.
구문
BOOLEAN FsRtlFindInTunnelCache(
[in] TUNNEL *Cache,
ULONGLONG DirectoryKey,
[in] UNICODE_STRING *Name,
[out] UNICODE_STRING *ShortName,
[out] UNICODE_STRING *LongName,
[in, out] ULONG *DataLength,
[out] VOID *Data
);
매개 변수
[in] Cache
FsRtlInitializeTunnelCache로 초기화된 터널 캐시에 대한 포인터입니다.
DirectoryKey
만들거나 이름을 바꿀 파일이 포함된 디렉터리의 키 값입니다.
[in] Name
이름을 바꾸거나 만들 파일의 새 이름을 포함하는 유니코드 문자열에 대한 포인터입니다.
[out] ShortName
터널링된 파일의 짧은 이름을 수신하기 위해 호출자가 할당한 유니코드 문자열에 대한 포인터입니다. 이 문자열은 전체 8.3 파일 이름을 보유할 수 있을 만큼 길어야 합니다. LongName과 달리 ShortName은 동적으로 성장하지 않습니다.
[out] LongName
터널링된 파일의 긴 이름을 수신하는 호출자가 할당한 유니코드 문자열에 대한 포인터입니다. 이 문자열이 터널링된 이름을 보유할 만큼 크지 않은 경우 FsRtlFindInTunnelCache 는 이를 더 큰 시스템 할당 문자열로 바꿉니다. 이러한 문자열이 할당된 경우 호출자는 이 사례를 검색하고 시스템이 할당한 새 문자열과 원래 호출자가 할당한 문자열을 해제합니다.
[in, out] DataLength
입력 시 데이터가 가리키는 버퍼의 길이를 지정하는 변수에 대한 포인터입니다. 출력 시 동일한 변수는 버퍼에 기록된 데이터의 길이(바이트)를 받습니다.
[out] Data
터널 캐시에 있는 데이터를 수신하기 위해 호출자가 할당한 버퍼에 대한 포인터입니다.
반환 값
FsRtlFindInTunnelCache 는 터널 캐시에 일치하는 항목이 있으면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
설명
파일 시스템은 만들거나 이름을 바꿀 파일의 디렉터리에 파일 이름이 추가될 때 FsRtlFindInTunnelCache 를 호출할 수 있습니다. FsRtlFindInTunnelCache 는 터널 캐시에서 DirKey 및 이름과 일치하는 항목을 검색합니다. FsRtlFindInTunnelCache가 있으면 캐시된 정보를 가져옵니다.
일치는 다음과 같이 수행됩니다.
DirKey 값은 항목의 디렉터리 키와 비교됩니다. FsRtlAddToTunnelCache에 전달된 DirectoryKey 값입니다.
FsRtlAddToTunnelCache 호출에서 KeyByShortName이 TRUE로 설정된 경우 Name이 가리키는 문자열이 터널링된 파일의 짧은 이름과 비교됩니다. 그렇지 않으면 긴 이름과 비교됩니다.
DataLength가 가리키는 버퍼 길이 변수의 값은 터널 캐시 항목에 저장된 데이터의 길이(바이트)보다 크거나 같아야 합니다.
호출자는 이 호출을 FsRtlDeleteTunnelCache와 동기화해야 합니다. 즉, 파일 시스템은 서로 다른 스레드에서 동시에 FsRtlFindInTunnelCache 및 FsRtlDeleteTunnelCache 를 호출하지 않도록 해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기