D'après un nom de fichier ou un descripteur de fichier, existe-t-il une méthode Win-API pour déterminer le secteur physique sur lequel le fichier démarre? Je soupçonne qu'il n'y a pas une telle fonction.Obtenir l'emplacement d'un fichier dans un secteur
Répondre
Vous pouvez obtenir l'allocation de cluster de fichiers en envoyant FSCTL_GET_RETRIEVAL_POINTERS à l'aide de DeviceIoControl.
Même si vous savez où le fichier commence, à quoi bon? Le reste du fichier pourrait être n'importe où dès que le fichier est plus grand qu'un seul secteur en raison de la fragmentation.
Vous auriez probablement besoin de développer une meilleure compréhension du système de fichiers concerné et de lire les informations nécessaires à partir de la table d'allocation de fichiers ou d'un tel mécanisme.
Vous devez lire directement la table d'allocation.
Non. Pourquoi? Parce qu'un système de fichiers est une abstraction du matériel physique. Vous n'avez pas besoin de savoir si vous êtes sur un disque RAM, un disque dur, un CD ou un lecteur réseau, ou si vos données sont compressées ou cryptées - Windows s'occupe de ces petits détails pour vous.
Vous pouvez toujours ouvrir le disque physique, mais vous devez connaître le système de fichiers utilisé.
Qu'essayez-vous d'accomplir avec cela?