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..