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
입력 시 Data가리키는 버퍼의 길이를 지정하는 변수에 대한 포인터입니다. 출력 시 동일한 변수는 버퍼에 기록된 데이터의 길이(바이트)를 받습니다.
[out] Data
터널 캐시에 있는 데이터를 수신하기 위해 호출자가 할당한 버퍼에 대한 포인터입니다.
반환 값
FsRtlFindInTunnelCache 일치하는 항목이 터널 캐시에 있으면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
발언
파일 시스템은 만들거나 이름을 바꿀 파일의 디렉터리에 파일 이름이 추가될 때 FsRtlFindInTunnelCache 호출할 수 있습니다. FsRtlFindInTunnelCache 터널 캐시에서 DirKey 및 이름일치하는 항목을 검색합니다. 발견되면 FsRtlFindInTunnelCache 캐시된 정보를 가져옵니다.
일치는 다음과 같이 수행됩니다.
DirKey 값은 항목의 디렉터리 키와 비교됩니다. FsRtlAddToTunnelCache
전달된 DirectoryKey 값입니다.FsRtlAddToTunnelCache호출에서 KeyByShortName TRUE로 설정된 경우 Name 가리키는 문자열이 터널링된 파일의 짧은 이름과 비교됩니다. 그렇지 않으면 긴 이름과 비교됩니다.
DataLength 가리키는 버퍼 길이 변수의 값은 터널 캐시 항목에 저장된 데이터의 길이(바이트)보다 크거나 같아야 합니다.
호출자는 이 호출을 FsRtlDeleteTunnelCache동기화해야 합니다. 즉, 파일 시스템은
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL |
<= APC_LEVEL |