FILE_NAMES_INFORMATION 구조체(ntifs.h)

디렉터리의 파일 이름에 대한 자세한 정보를 쿼리하는 데 사용되는 FILE_NAMES_INFORMATION 구조체입니다.

구문

typedef struct _FILE_NAMES_INFORMATION {
  ULONG NextEntryOffset;
  ULONG FileIndex;
  ULONG FileNameLength;
  WCHAR FileName[1];
} FILE_NAMES_INFORMATION, *PFILE_NAMES_INFORMATION;

멤버

NextEntryOffset

버퍼에 여러 항목이 있는 경우 다음 FILE_NAMES_INFORMATION 항목에 대한 바이트 오프셋입니다. 이 멤버를 따르는 다른 항목이 없으면 이 멤버는 0입니다.

FileIndex

부모 디렉터리 내 파일의 바이트 오프셋입니다. 이 멤버는 부모 디렉터리 내의 파일 위치가 고정되지 않고 정렬 순서를 유지하기 위해 언제든지 변경할 수 있는 NTFS와 같은 파일 시스템에 대해 정의되지 않습니다.

FileNameLength

파일 이름 문자열의 길이입니다.

FileName[1]

파일 이름 문자열의 첫 번째 문자입니다. 이 뒤에는 나머지 문자열이 메모리에서 수행됩니다.

설명

이 정보는 다음 방법 중 하나로 쿼리할 수 있습니다.

  • ZwQueryDirectoryFile을 호출하여 FileNamesInformationFileInformationClass 값으로 전달하고 호출자가 할당한 FILE_NAMES_INFORMATION 구조화된 버퍼를 FileInformation 값으로 전달합니다.

  • 주 함수 코드 IRP_MJ_DIRECTORY_CONTROL 및 부 함수 코드 IRP_MN_QUERY_DIRECTORY 사용하여 IRP를 만듭니다.

이 정보를 쿼리하는 데 특정 액세스 권한이 필요하지 않습니다.

이 구조체는 LONG(4 바이트) 경계에 맞춰야 합니다. 버퍼에 이러한 구조체가 두 개 이상 포함된 경우 마지막을 제외한 각 항목의 NextEntryOffset 값은 4 바이트 경계에 해당합니다.

요구 사항

요구 사항
헤더 ntifs.h(Ntifs.h, Fltkernel.h 포함)

추가 정보

FsRtlNotifyFullChangeDirectory

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile