Có cách nào để tôi có thể xác định phân đoạn của một tệp thông qua các phương tiện có lập trình không? Ví dụ: có một số loại API hệ thống tệp mà tôi có thể nhấn vào để truy xuất loại thông tin này không?phân tích sự phân mảnh của tệp trong Windows 7
6
A
Trả lời
3
Tôi chỉ sao chép và dán Raymond's reply từ các nhận xét, vì vậy tôi đã đánh dấu nó là một câu trả lời cho câu trả lời là cộng đồng wiki.
Đối với C/C++, hãy sử dụng FSCTL_GET_RETRIEVAL_POINTERS. Đối với C#, hãy sử dụng these wrapper classes.
-1
Đây là một tốt C# wrapper cho FSCTL_GET_RETRIEVAL_POINTERS: http://blogs.msdn.com/b/jeffrey_wall/archive/2004/09/13/229137.aspx
wrapper này đòi hỏi mã kiểm soát để trở về một danh sách của một đối tượng xác định trong đó mỗi tập tin là trên đĩa.
Có thể bạn muốn phương thức GetFileMap truy xuất thông tin này.
Chủ đề MSDN [Chống phân mảnh tệp] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa363911%28v=vs.85%29.aspx) đề cập đến điều này. Có vẻ như bạn đang tìm kiếm ['FSCTL_GET_RETRIEVAL_POINTERS'] cụ thể (http://msdn.microsoft.com/en-us/library/windows/desktop/aa364572%28v=vs.85%29.aspx). Jeffrey Wall có [một số lớp trình bao bọc C#] (http://blogs.msdn.com/b/jeffrey_wall/archive/2004/09/13/229137.aspx). –
@Raymond: Bạn nên làm cho câu trả lời đó, tôi đoán vậy. – Joey
@RaymondChen: Vâng, đó sẽ là câu trả lời tôi chấp nhận. –