Шаг 15 - Что такое IOCTL

Действительно функции MS DOS и BIOS обеспечивают нас многими возможностями. Но не всеми. А только самыми необходимыми, стандартными. Но устройств много и много специфических возможностей. Сама аббревиатура IOCTL это I/O Control. Реализуется этот контроль ввода вывода прерыванием Int 21H функцией 44H. Естественно что шаги по TASM я пишу не просто так. Если Вы читаете раздел VC++ то последние шаги на данный момент там были "Шаг 165 - Получения дескриптора VXD", "N/A". Наверно часть народа догадалась после этого шага к чему я клоню. Итак, эта функция 44h обеспечивает прямую связь между прикладной программой и драйвером устройства. Позволяет программе получать аппаратно-зависимую информацию и запрашивать операции, которые не поддерживаются другими функциональными вызовами MS-DOS. Вот оно. Эта функция позволяет работать напрямую с драйвером оборудования. А драйвера оборудования пишутся тоже по правилам. И если драйвер написан по правилам, то мы может к нему обратиться используя эту функцию. Вот так. Итак, как мы управляем устройствами можем несколькими методами, смотрим схему.

Мы можем использовать функции DOS, они умеют делать операции высокого уровня например создать файл. Мы можем использовать BIOS это более мелкие операции как например абсолютное чтение сектора с диска. DOS скорее всего то же пользуется функциями BIOS. И наконец мы можем использоваться функций DOS 44h для обращения к драйверу устройства. В каком он виде программном или аппаратном в данном случае нас не волнует.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 28.11.2001