J'essaie de défragmenter un seul fichier via l'API de défragmentation Windows (http://msdn.microsoft.com/en-us/library/aa363911(VS.85).aspx) mais s'il n'y a pas de bloc d'espace libre assez grand pour mon fichier, je voudrais déplacer d'autres parties de fichiers pour faire de la place.Comment puis-je trouver des informations sur un fichier à partir d'un numéro de cluster logique en NTFS/FAT32?
L'article lié mentionne des parties mobiles d'autres fichiers mais je ne trouve aucune information sur la façon de trouver les fichiers à déplacer. De l'espace libre bitmap je peux trouver un espace assez grand et je connais les numéros de cluster logique qui l'entoure, mais de cela je ne peux pas savoir quels fichiers l'entourent et un handle pour les fichiers est nécessaire pour faire FSCTL_MOVE_FILE qui se déplace parties de fichiers. Existe-t-il un moyen, via l'API ou en analysant la MFT, de savoir de quel fichier fait partie un numéro de cluster logique et quel numéro de cluster virtuel correspond au numéro de cluster logique trouvé dans le bitmap?
Comme une mise à jour, Windows 7 a 'FSCTL_LOOKUP_STREAM_FROM_CLUSTER' qui semble faire exactement ce que l'OP veut, en une seule opération. – Damon