Windows 조각 모음 API (http://msdn.microsoft.com/en-us/library/aa363911(VS.85).aspx)를 통해 하나의 파일을 조각 모음하려고하지만 파일에 충분한 여유 공간 블록이없는 경우 파일의 다른 부분을 이동하여 공간을 확보하려고합니다.NTFS/FAT32의 논리 클러스터 번호에서 파일에 대한 정보를 찾는 방법은 무엇입니까?
링크 된 문서에는 다른 파일의 움직이는 부분이 언급되어 있지만 이동할 파일을 찾는 방법에 대한 정보는 찾을 수 없습니다. 여유 공간 비트 맵에서 나는 거의 충분한 공간을 찾을 수 있습니다. 그리고 그것을 둘러싼 논리적 클러스터 번호를 알고 있습니다. 그러나이 파일을 둘러싼 파일을 찾을 수 없으며 파일 핸들은 FSCTL_MOVE_FILE을 수행하는 데 필요합니다. 파일의 일부.
API를 통해 또는 MFT를 구문 분석하여 논리 클러스터 번호가 포함되어있는 파일을 확인하고 파일의 가상 클러스터 번호가 비트 맵에서 찾은 논리 클러스터 번호와 일치하는지 확인하십시오.
업데이트로 Windows 7은 한 번의 작업으로 OP가 원하는대로 수행하는 것으로 보이는 'FSCTL_LOOKUP_STREAM_FROM_CLUSTER'을 가지고 있습니다. – Damon