Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Аппаратное обеспечение -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 75

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — БВХ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interfeysusbpraktikaispolzovaniya2004.djvu
Предыдущая << 1 .. 69 70 71 72 73 74 < 75 > 76 77 78 79 80 81 .. 168 >> Следующая

Гпава 9. Введение в WDM
219
var Buffer: array[0..1023] of Char; begin
SetString(Result, Buffer, GetSystemDirectory(Buffer, SizeOf(Buffer)));
end;
// получение имени драйвера function GetDriverPath : String; begin
Result:= GetSystemDir + '\giveioexisys'; end;
// создание файла драйвера из ресурса
Function TGivelOEx.CreateFileFromResource : Boolean;
Var S: TFileStream; Rare: HRSRC; Res: THandle;
Data: Pointer;
Begin Result := False;
// 101 - номер ресурса в ресурсном файле
Rsrc := FindResource (Hlns.tance, MakelntResource (101), RT_RCDATA) ;
If Rsrc = 0 then Exit;
Rfes:*= LoadResource(HInstance, Rsrc);
Try
Data := LockResource(Res);
If Data <> nil then Try
S:= TFileStream.Create(GetDriverPath, finCreate);
Try
S.WriteBuffer(Data^, SizeOfResource(HInstance, Rsrc>);
Finally S.Free;
End;
Result:= True;
Finally UnlockResource(Res);
End;
Finally FreeResource(Res);
End;
End;
220
Часть ill. Практика программирования
// удаление файла драйвера Procedure TGivelOEx.RemoveFile; var DriverPath
: String;
Begin
DriverPath:= GetDriverPath;
Windows.DeleteFile(PChar(DriverPath));¦
End;
Естественно, такая процедура возможна только для динамической загрузки
драйвера с помощью SCM-менеджера.
9.5. Инструменты создания драйверов
Процесс написания драйверов достаточно сложен и трудоемок, и, конечно, на
рынке программного обеспечения появились программы, облегчающие написание
и тестирование драйверов.
9.5.1. NuMega Driver Studio
Этот программный комплекс включается помощником, интегрирующимся со
средой разработки Microsoft Visual Sdutio. Последовательно отвечая на
вопросы помощника, можно получить работоспособный скелет драйвера. Для
компиляции полученного кода требуются библиотеки и классы NuMega и
Microsoft DDK.
9.5.2. Jungo WinDriver
Пакет предназначен для разработки драйверов устройств, использующих
стандарты PCI, Compact PCI, USB, ISA, ISA PnP, EISA и работающих под
управлением операционных систем Windows 9X/ME/NT/2000. Позволяет
обращаться к физической памяти, портам, устанавливать собственные
обработчики аппаратных прерываний. Не требует наличия Windows DDK и
программирования на уровне ядра. Используется графическая оболочка для
диагностики оборудования и автоматической генерации кода на языках C/C++
или Pascal (Delphi).
9.5.3. Jungo KernelDriver
Пакет предназначен для разработки драйверов устройств, использующих
стандарты PCI, Compact PCI, USB, ISA, ISA PnP, EISA и работающих на
уровне ядра под управлением операционных систем Windows 9X/ME/NT/ 2000.
Обеспечивает более высокую производительность, чем WinDriver. Требует
наличия Windows DDK. Используется графическая оболочка для диагностики
оборудования и автоматической генерации кода.
Глава 10
Спецификация РпР для USB
Windows обнаружила перемещение указателя мыши. Изменения вступят в силу
после перезагрузки системы.
10.1. Общие сведения о системе Plug and Play
Появление огромного числа моделей периферийных устройств привело к
очевидной невозможности их ручного конфигурирования. Выбор портов,
номеров аппаратных прерываний, ячеек памяти... А ведь все параметры надо
выставить корректно, исключая конфликты оборудования. При этом следует
учитывать, что некоторые устройства умеют "подвинуться" на другие номера
прерываний, а некоторые - требуют фиксированного номера. Другими словами,
очевидна необходимость автоматического конфигурирования устройств.
10.1.1. Задачи и функции Plug and Play
Протокол Plug and Play (дословно, "подключил и играй") позволяв!
достаточно просто подключать новое оборудование. Перед началом работы
система (BIOS при начальной загрузке, Windows при запуске) опрашивает
устройства, узнает их требования к системным ресурсам и пытается
бесконфликтно разделить ресурсы между устройствами. Если это не удается,
конфликтующие устройства будут работать некорректно. В этом случае
необходимо вручную внести корректировки в настройки. Многие устройства,
например, не поддерживают самостоятельное переключение диапазонов
используемых ресурсов, но могут настраиваться с помощью специальных
переключателей. Спецификация Plug and Play предусматривает также
"горячее" подключение устройств, т. е. подключение во время работы.
Итак, основными функциями системы РпР (это сокращенное обозначение Plug
and Play) являются:
? определение подключаемых устройств;
? идентификация устройств, уведомление ОС об их появлении;
222
Часть III. Практика программирования
П определение отключения устройства и уведомление об этом ОС;
П автоматическое конфигурирование устройств без вмешательства
пользователя.
Для того чтобы устройство смогло поддерживать спецификацию РпР, должно
быть выполнено несколько условий:
П устройство должно уметь выполнять программное конфигурирование. Должна
существовать возможность установки портов ввода/вывода, задействованных
прерываний и ресурсов памяти с помощью программного конфигурирования,
исключая механическое конфигурирование с помощью перемычек и
Предыдущая << 1 .. 69 70 71 72 73 74 < 75 > 76 77 78 79 80 81 .. 168 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.