Ver Mensaje Individual
  #1  
Antiguo 06-04-2020
bpesoj bpesoj is offline
Registrado
 
Registrado: dic 2004
Posts: 9
Reputación: 0
bpesoj Va por buen camino
Problema leyendo la FAT32

Hola,
Me dirijo al Foro, a ver si alguien puede ayudarme. Estoy añadiendo a un programa para guardar y localizar rapidamente las fotos que voy escribiendo la posibilidad de recuperar archivos perdidos (borrados, o como sea) de una unidad, por lo general USB y tambiés por lo general, con FAT32.

Con ayuda de un ejemplo de D. Seoane (Gracias!) he llegado a encontrar el directorio de un archivo dado, en la FAT, y me he encallado al ir a leer lo que se puede llamar la «entrada de la FAT» correspondiente al primer cluster del archivo, en la cual tiene que estar el número del «siguiente cluster del sector de datos» si no se acabó en el primero. Para ello, sigo las instrucciones de (no puedo poner enlaces, lo siento) que indican que dado un número de cluster, su entrada en la matriz de la FAT viene dada por: (N es el cluster)

FATOffset = N * 4;
ThisFATEntOffset = REM(FATOffset / BPB_BytsPerSec); // REM es el residuo de la división

Sin embargo, el ThisFATEntOffset no es un índice correcto en la matriz de la FAT ya que lo que leo desde aquella dirección no forma parte del archivo (y sí de otro, evidentemente).

Quedaría muy agradecido si alguien de aquí, que sois muy buenos, pudiera echarme un cable, a ver en qué dirección tengo que buscar el siguiente cluster.

Saludos cordiales.
Responder Con Cita