![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Rundll32.exe shell32.dll, Control_RunDLL hotplug.dllСтр 1 из 3Следующая ⇒
ЛАБОРАТОРНАЯ РАБОТА N5 Программное извлечение флеш-диска Цель работы Практическое овладение навыками составления программ, работающих с USB-накопителями. Рекомендуемая литература Агуров П.В. Практика программирования USB. – СПб.: БХВ-Петербург, 2006. с. 69…73, 332…341, 368…374, 566…567. SetupAPI Reference [Электронный документ]. – Режим доступа: https://msdn.microsoft.com/en-us/library/dd445255.aspx. – 5.11.2009. GMax. Безопасное извлечение USB-устройств [Электронный документ] / GMax. – Режим доступа: https://wasm.ru/article.php? article=usb_eject. – 5.11.2009. Программное извлечение USB-диска [Электронный документ]. – Режим доступа: https://superadm.net/index.php? name=pages& op=view& id=126. – 5.11.2009. Аблязов Р. Работа с устройствами в Windows [Электронный документ] / Аблязов Р. – Режим доступа: https://pblog.ru/? p=105. – 5.11.2009. Подготовка к работе 3.1. Изучить методические указания и рекомендованную литературу. 3.2. Подготовить ответы на контрольные вопросы. 3.3. Подготовить флеш-диск с интерфейсом USB. Контрольные вопросы 4.1. Почему не желательно вынимать USB-накопитель из разъёма без использования безопасного отключения? 4.2. Какой формат имеет PnP-идентификатор USB-устройств? 4.3. Какой формат имеет идентификатор экземпляра устройства USB-накопителя? 4.4. Что делает и какой формат имеет функция SetupDiGetDeviceRegistryProperty? 4.5. Что делает и какой формат имеет функция CM_Get_Device_ID? 4.6. Какие функции из SetupAPI.dll используются для нахождения и отключения устройства? 4.7. Как определить строковый идентификатор производителя и продукта? Задание на выполнение работы 5.1. Используя среду программирования Free Pascal разработать программу, останавливающую только Вашу флешку для безопасного извлечения её из разъёма. Программа может быть выполнена в консольном виде или с графическим пользовательским интерфейсом. 5.2. Подготовить отчёт и отчитаться о проделанной работе преподавателю. 6. Отчёт должен содержать: 6.1 Титульный лист (с названием ВУЗа, кафедры, лабораторной работы, а также фамилии И.О. студента, подготовившего отчёт). 6.2 Цель работы. 6.3 Графический алгоритм программы с краткими пояснениями. 6.4 Полный листинг программы с комментариями. Общие сведения При работе с USB-накопителями информации необходимо правильно извлекать эти устройства из системы. В операционных системах семейства Windows для этого имеется функция «Безопасное извлечение устройства», которую можно вызвать командой rundll32.exe shell32.dll, Control_RunDLL hotplug.dll Однако данную операцию можно выполнить и программным способом. Существует два метода программного извлечения устройства. Первый метод использует функции библиотеки SetupAPI.dll. Если устройство не готово для извлечения в данный момент, то выдаётся соответствующая ошибка или сообщение. Второй метод использует функции прямого обращения к драйверу. В отличие от первого метода, он может извлечь устройство, даже если оно не готово, но при этом операционная система не уведомляется об отключении диска, что может вызвать ошибку при обращении к диску. В приложении А приведён листинг программы, которая позволяет безопасно извлекать из системы первый попавшийся USB-накопитель. В данной программе проверяется PnP-идентификатор экземпляра устройства. Однако кроме проверки PnP-идентификатора есть и другие способы нахождения конкретного устройства, например по строке описания этого устройства или идентификатору оборудования.
|