Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Rundll32.exe shell32.dll, Control_RunDLL hotplug.dll






ЛАБОРАТОРНАЯ РАБОТА 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-идентификатора есть и другие способы нахождения конкретного устройства, например по строке описания этого устройства или идентификатору оборудования.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.