2012-05-02 11 views
6

¿Hay alguna manera de determinar la fragmentación de un solo archivo por medios programáticos? Por ejemplo, ¿hay algún tipo de API del sistema de archivos que pueda aprovechar para recuperar este tipo de información?analizar la fragmentación de un archivo en Windows 7

+7

El tema de MSDN [Desfragmentar archivos] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa363911%28v=vs.85%29.aspx) lo cubre. Parece que está buscando específicamente ['FSCTL_GET_RETRIEVAL_POINTERS'] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa364572%28v=vs.85%29.aspx). Jeffrey Wall tiene [algunas clases de contenedor C#] (http://blogs.msdn.com/b/jeffrey_wall/archive/2004/09/13/229137.aspx). –

+1

@Raymond: Supongo que deberías hacer una respuesta. – Joey

+0

@RaymondChen: Sí, esa sería una respuesta que aceptaría. –

Respuesta

-1

Aquí es un buen C# envoltorio para los FSCTL_GET_RETRIEVAL_POINTERS: http://blogs.msdn.com/b/jeffrey_wall/archive/2004/09/13/229137.aspx

Esta envoltura de llama al código de control para volver hacia atrás una lista de un objeto que define donde cada archivo está en el disco.

Probablemente desee que el método GetFileMap recupere esta información.

Cuestiones relacionadas