Я могу помочь вам со второй частью: безопасно удалить ее.
Вот статья об инструменте от Microsoft , которая позволит вам безопасно удалить флэш-накопитель из командной строки.Используя C #, вы можете запускать инструменты командной строки, используя класс Process .
Обновление:
Возможно, вы исследуете функцию Windows API CreateFile для чтения сырых секторов диска.Для этого вам потребуется использовать p / invoke.
Другое обновление:
Я выполнил поиск для вас, и другие люди добились некоторого успеха при вызове p / invokingсоздать файл, используя:
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
private static extern Microsoft.Win32.SafeHandles.SafeFileHandle CreateFile(string lpFileName, System.UInt32 dwDesiredAccess, System.UInt32 dwShareMode, IntPtr pSecurityAttributes, System.UInt32 dwCreationDisposition, System.UInt32 dwFlagsAndAttributes, IntPtr hTemplateFile);
Удачи!