J'utilise une importation pour ouvrir un disque dur physique connecté:Quelle est la meilleure méthode?
var sfh = Imports.CreateFile(Path, Imports.FileAccess.GenericAll, Imports.FileShare.None, IntPtr.Zero, Imports.CreationDisposition.OpenExisting, 0, IntPtr.Zero);
if (sfh.IsInvalid)
{
Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error());
return;
}
Geometry = Imports.GetGeometry(sfh);
var fs = new FileStream(sfh, FileAccess.ReadWrite, (int)Geometry.BytesPerSector, false);
Cela fonctionne très bien, mais au lieu d'utiliser FileStream, je me demandais si ce serait un moyen plus efficace pour lire des octets à partir du lecteur : http://msdn.microsoft.com/en-us/library/aa365467%28v=VS.85%29.aspx
Sous le couvre, le cadre appelle presque certainement la fonction ReadFile win32 que vous avez liée, et ce, de manière efficace. –