BY_HANDLE_FILE_INFORMATION 구조체(fileapi.h)

GetFileInformationByHandle 함수가 검색하는 정보를 포함합니다.

구문

typedef struct _BY_HANDLE_FILE_INFORMATION {
  DWORD    dwFileAttributes;
  FILETIME ftCreationTime;
  FILETIME ftLastAccessTime;
  FILETIME ftLastWriteTime;
  DWORD    dwVolumeSerialNumber;
  DWORD    nFileSizeHigh;
  DWORD    nFileSizeLow;
  DWORD    nNumberOfLinks;
  DWORD    nFileIndexHigh;
  DWORD    nFileIndexLow;
} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;

멤버

dwFileAttributes

파일 특성입니다. 가능한 값 및 해당 설명은 파일 특성 상수를 참조하세요.

ftCreationTime

파일 또는 디렉터리를 만드는 시기를 지정하는 FILETIME 구조체입니다. 기본 파일 시스템에서 생성 시간을 지원하지 않는 경우 이 멤버는 0입니다.

ftLastAccessTime

FILETIME 구조체입니다. 파일의 경우 구조체는 파일을 읽거나 쓸 마지막 시간을 지정합니다. 디렉터리의 경우 구조는 디렉터리가 만들어지는 시기를 지정합니다. 파일 및 디렉터리 모두에 대해 지정된 날짜가 올바르지만 하루 중 시간은 항상 자정으로 설정됩니다. 기본 파일 시스템에서 마지막 액세스 시간을 지원하지 않는 경우 이 멤버는 0입니다.

ftLastWriteTime

FILETIME 구조체입니다. 파일의 경우 구조체는 파일이 마지막으로 기록되는 시간을 지정합니다. 디렉터리의 경우 구조는 디렉터리가 만들어지는 시기를 지정합니다. 기본 파일 시스템에서 마지막 쓰기 시간을 지원하지 않는 경우 이 멤버는 0입니다.

dwVolumeSerialNumber

파일이 포함된 볼륨의 일련 번호입니다.

nFileSizeHigh

파일 크기의 상위 부분입니다.

nFileSizeLow

파일 크기의 하위 부분입니다.

nNumberOfLinks

이 파일에 대한 링크 수입니다. FAT 파일 시스템의 경우 이 멤버는 항상 1입니다. NTFS 파일 시스템의 경우 1을 초과할 수 있습니다.

nFileIndexHigh

파일과 연결된 고유 식별자의 상위 부분입니다. 자세한 내용은 nFileIndexLow를 참조하세요.

nFileIndexLow

파일과 연결된 고유 식별자의 하위 부분입니다.

식별자(낮음 및 높은 부분) 및 볼륨 일련 번호는 단일 컴퓨터에서 파일을 고유하게 식별합니다. 두 개의 열린 핸들이 동일한 파일을 나타내는지 확인하려면 각 파일에 대한 식별자와 볼륨 일련 번호를 결합하고 비교합니다.

Windows Server 2012 도입된 ReFS 파일 시스템에는 128비트 파일 식별자가 포함되어 있습니다. 128비트 파일 식별자를 검색하려면 FileIdInfo와 함께 GetFileInformationByHandleEx 함수를 사용하여 FILE_ID_INFO 구조를 검색합니다. 이 구조체의 64비트 식별자는 ReFS에서 고유하지 않습니다.

설명

nFileIndexHighnFileIndexLow 멤버에 저장된 식별자를 파일 ID라고 합니다. 파일 ID에 대한 지원은 파일 시스템별입니다. 파일 ID는 파일 시스템에서 자유롭게 다시 사용할 수 있으므로 시간이 지남에 따라 고유하지 않을 수 있습니다. 경우에 따라 파일의 파일 ID는 시간이 지남에 따라 변경 될 수 있습니다.

FAT 파일 시스템에서 파일 ID는 포함된 디렉터리의 첫 번째 클러스터에서 생성되고 파일에 대한 항목의 디렉터리 내에서 바이트 오프셋이 생성됩니다. 일부 조각 모음 제품은 이 바이트 오프셋을 변경합니다. (Windows 기본 조각 모음은 사용하지 않습니다.) 따라서 FAT 파일 ID는 시간이 지남에 따라 변경 될 수 있습니다. FAT 파일 시스템에서 파일 이름을 바꾸면 파일 ID가 변경되지만 새 파일 이름이 이전 파일 이름보다 긴 경우에만 변경할 수 있습니다.

NTFS 파일 시스템에서 파일은 삭제될 때까지 동일한 파일 ID를 유지합니다. ReplaceFile 함수를 사용하여 파일 ID를 변경하지 않고 한 파일을 다른 파일로 바꿀 수 있습니다. 그러나 대체된 파일이 아닌 대체 파일의 파일 ID는 결과 파일의 파일 ID로 유지됩니다.

모든 파일 시스템에서 생성 및 마지막 액세스 시간을 기록할 수 있는 것은 아니며, 모든 파일 시스템에서 동일한 방식으로 기록하는 것은 아닙니다. 예를 들어 Windows FAT 파일 시스템에서 만들기 시간은 해상도가 10밀리초이고, 쓰기 시간은 해상도가 2초이고, 액세스 시간은 1일(액세스 날짜)의 해상도를 가집니다. NTFS 파일 시스템에서 액세스 시간의 해상도는 1시간입니다. 자세한 내용은 파일 시간을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 fileapi.h(Windows.h 포함)

추가 정보

FILETIME

FILE_ID_INFO

파일 특성 상수

GetFileInformationByHandle

GetFileInformationByHandleEx