Как ОС обнаруживает жесткий диск USB при подключении - PullRequest
0 голосов
/ 12 января 2011

Как ОС обнаруживает внешний жесткий диск. Я имею в виду, какие процедуры или системные вызовы позволяют узнать о диске. Есть ли способ автоматически определить, подключен ли внешний жесткий диск?

1 Ответ

3 голосов
/ 12 января 2011

(Отвечая на единственный вопрос в вашем вопросе.)

Для Windows вам необходимо создать окно и обработать сообщение WM_DEVICECHANGE , в частности событие DBT_DEVICEARRIVAL (которое отправляется автоматически без необходимости регистрации).

Чтобы сделать это из Python без создания окна, насколько я знаю, лучшее, что вы можете сделать, - это периодически проверять, существуют ли корневые пути (возможно, достаточно одного раза в секунду, если вам нужно ответить быстрее, чем этот Python). не собираюсь работать на тебя):

import os.path
for letter in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
    drive_mounted[letter] = os.path.exists(letter + ":")

(Отвечая на не вопросы в вашем вопросе.)

Операционная система обнаруживает устройства USB / eSATA, так как контроллер USB / eSATA на материнской плате вызовет прерывание на процессоре. ОС обнаруживает это прерывание и запрашивает контроллер об устройстве, устанавливает все необходимые драйверы, активирует драйверы, определяет точку монтирования (букву диска) и воспроизводит звуковой эффект.

(Ничто из этого не имеет ничего общего с Python, поэтому я предполагаю, что оно также не имеет ничего общего с этим вопросом.)

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