Programación General > C/C++

 Cómo leer un sector del disco

<< < (2/2)

Eternal Idol:
Despues de tener un HANDLE al volumendisco en cuestion usas ReadFile.

rfog:
Y WriteFile luego para guardar el sector modificado, pero antes tienes que retroceder a la misma posición en la que leiste el sector.

elmer.entenza:
Muchas gracias colegas... Las funciones que me recomendaron salvaron toda la situación..  Las usé así..

byte[] data = new byte[count];
int n = 0;
IntPtr handle = CreateFile("F", GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
fixed (byte* p = data)
{
    if (!ReadFile(handle, p, count, &n, 0))
        Console.WriteLine("Error de lectura en el medio");
}

if (n > 0)
{
    MemoryStream memStream = new MemoryStream(data);
    return memStream;
}


Ahora tengo un último problema cuando estoy leyendo en la flash solo puedo leer a partir del comienzo de la misma... y para eso cuando quiero leer un cluster cerca del final, tengo que leer casi toda la superficie de la momoria...
Cuando se trataba de los primeros 10 Mbytes más o menos no dio problemas pero más allá simplemente no funciona...

Cómo puedo realizar un offset antes, al handle tal vez??? para luego solo leer el tamanno de un cluster... sin lios...

esto es lo único que me falta... para terminar..

rfog:
Muévete directamente a donde quieras con SetFilePointer()

http://msdn.microsoft.com/en-us/library ... 41(v=VS.85).aspx

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa