Используйте API-интерфейсы доступа Windows для прямого доступа к USB-накопителю. - PullRequest
3 голосов
/ 24 мая 2011

В конце физического диска USB я хочу записывать данные напрямую, используя Windows Raw API доступа.Я не хочу использовать драйвер ядра для этого.

Насколько мне известно, прямой доступ к жесткому диску заблокирован из windows xp sp2 или sp3 (?) По соображениям безопасности.Я не уверен, что это верно для USB-накопителя.

Пожалуйста, объясните мне, как туда добраться.Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

Это зависит от того, насколько «прямым» вы хотите быть.

Что-то вроде

HANDLE hDrive = CreateFile("\\\\.\\F:", ...);
ReadFile(hDrive, ...);

должен дать вам то, что вам нужно в большинстве ситуаций, хотя вам может понадобиться DeviceIoControl с

если вы делаете что-то действительно продвинутое.

P.S .: Это должно быть в StackOverflow, как уже упоминали другие люди.

0 голосов
/ 24 мая 2011

Проголосовал за переполнение стека.Я думаю, независимо от того, что использование внешнего жесткого диска, подключенного через USB, ничего не изменит, так как он по-прежнему выглядит как обычный диск для Windows.

Когда вы говорите «raw access API», вы имеете в виду такие функции, как CreateFileНапишите файл и т. Д. Как указано здесь ?Потому что эти функции должны вызываться из обычных приложений Win32.Или вы хотите получить прямой доступ к самому диску без промежуточного уровня файловой системы?(Некоторые пользовательские приложения, такие как HxD , могут напрямую открывать диски для чтения / записи - используйте с осторожностью)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...