2012-05-09 2 views
2

Windows에서 디렉토리의 inode 번호를 찾아야합니다. _stat_stat64 함수를 사용하여 파일에 대한 inode 및 기타 정보를 가져올 수 있습니다. 그러나 Windows 디렉토리에 대해 동일한 디렉토리를 사용하면 모든 디렉토리에 항상 같은 번호가 부여됩니다.Windows의 디렉토리에 inode 번호가 있습니까?

Windows 디렉토리의 inode 번호를 찾는 방법이 있습니까? windows stat docs에서

답변

4

,

st_ino

파일 에 대한 정보 노드 (아이 노드)의 수 (UNIX 전용). UNIX 파일 시스템에서 inode는 날짜 및 시간 스탬프, 권한 및 내용 파일을 설명합니다. 파일이 서로 하드 링크 된 인 경우 동일한 inode를 공유합니다. inode, 따라서 st_ino는 FAT, HPFS 또는 NTFS 파일 시스템에서 의미가 없습니다.

따라서 Windows 시스템에서 inode 번호에 의존하지 마십시오. 유닉스 특유의 개념.

Windows가 inode없이 파일을 관리하지만 비슷한 것을 사용하는 방법에 대한 정보는 SO post을 참조하십시오. 위키

1

:

인덱스 노드 (inode는) 같은 UFS와 같은 전통적인 유닉스 스타일의 파일 시스템의 데이터 구조입니다. 아이 노드는 데이터와 이름을 제외한 일반 파일, 디렉토리 또는 다른 파일 시스템 객체에 대한 모든 정보를 저장합니다. Windows에서 사용

일반적인 파일 시스템은 아이 노드 개념을 중심으로 구축되지 않은, 서로 다른, 그래서 무엇보다도 을보고 할 "아이 노드 번호가"없다. Inode Explanation

2

Windows 파일 시스템은 대부분의 유닉스 파일 시스템의 inode 번호에 직접 아날로그가 없습니다 :

여기에 대한 명확한 설명과 함께 링크입니다.

문제의 디렉토리를 고유하고 모호하지 않게 식별하고 싶다면 볼륨 일련 번호/FileId 콤보 만 있으면 충분합니다. FileInformationClass (두 번째 매개 변수)을 FileIdInfo으로 설정하여 GetFileInformationByHandleEx (이름에도 불구하고 디렉토리에 대한 정보를 검색 할 수 있음)으로 검색 할 수 있습니다.

이것은 인데 주로 NTFS에 유용합니다. 문서에서 볼 수 있듯이 FAT 파일 시스템의 제한 사항은 매우 중요합니다.하지만 요구 사항에 따라 FAT 파일 시스템의 제한 사항은 여전히 ​​중요하지는 않습니다.