Функция DeviceIoControl предусматривает интерфейс управления устройствами ввода и вывода (IOCTL), через который приложение может общаться непосредственно с драйвером устройства. Функция DeviceIoControl - это интерфейс общего назначения, который может отправлять управляющие коды разнообразным устройствам. Каждый управляющий код представляет операцию выполняемую драйвером. Например, управляющий код может попросить, чтобы драйвер устройства возвратил информацию о соответствующем устройстве, или предписать драйверу, чтобы тот выполнил действие на устройстве, такое как форматирование диска.
Большинство стандартных управляющих кодов определяются в заголовочных файлах SDK. Кроме того, драйверы устройства могут определить свои собственные специальные для устройства управляющие коды. Список стандартных управляющих кодов, включенных в документацию SDK, см. в разделе Замечания описания функции DeviceIoControl.
Типы управляющих кодов, которые Вы можете определить, зависят от устройства, к которому вы обращаетесь, и платформы, на которой запускается ваше приложение. Приложения могут использовать стандартные управляющие коды или специальные для устройства управляющие коды, чтобы выполнить прямые операции ввода и вывода данных на накопителе на гибких магнитных дисках, на жестком диске, на накопителе на магнитной ленте или устройстве чтения компакт-дисков (CD-ROM)
Windows Me/98/95: Приложения не могут использовать стандартные управляющие коды в заголовочных файлах SDK.Эти приложения ограничены в использовании управляющих кодов, поддерживаемых драйвером виртуального устройства, к которому обращаются. Например, системный драйвер VxD, VWIN32.VXD, поддерживает функции управления вводом и выводом данных (IOCTL), первоначально предусмотренными MS-DOS с прерыванием 21h.
Дополнительную информацию смотри в статях ниже: