IRP_MJ_INTERNAL_DEVICE_CONTROL
Как правило, любая замена существующего драйвера, поддерживающего внутренние запросы на управление устройствами, должна обрабатывать этот запрос в подпрограмме DispatchInternalDeviceControl . Такой драйвер должен поддерживать по крайней мере тот же набор внутренних управляющих кодов ввода-вывода, что и драйвер, который он заменяет. В противном случае существующие драйверы более высокого уровня могут не работать с новым драйвером.
Для обработки этого запроса требуются драйверы, которые заменяют некоторые системные драйверы более низкого уровня. Например, замена драйвера параллельных системных портов должна по-прежнему поддерживать существующие драйверы параллельного класса. Обратите внимание, что некоторые системные драйверы, обрабатывающие этот запрос, не могут быть заменены, в частности, предоставляемые системой драйверы SCSI и видеопорта.
При отправке
В любое время после успешного выполнения запроса на создание.
Входные параметры
Код элемента управления вводом-выводом содержится в parameters.DeviceIoControl.IoControlCode в расположении стека ввода-вывода IRP.
Другие входные параметры зависят от значения кода элемента управления вводом-выводом. Дополнительные сведения см. в разделе Описания буфера для кодов управления вводом-выводом.
Выходные параметры
Выходные параметры зависят от значения кода элемента управления вводом-выводом. Дополнительные сведения см. в разделе Описания буфера для кодов управления вводом-выводом.
Операция
Драйверы получают IRP_MJ_INTERNAL_DEVICE_CONTROL запросов, когда другой драйвер вызывает IoBuildDeviceIoControlRequest или IoAllocateIrp для создания запроса.
Этот код элемента управления вводом-выводом был определен для обмена данными между парными и многоуровневые драйверы в режиме ядра, например одним или несколькими драйверами класса, размещенными через драйвер порта. Драйвер более высокого уровня настраивает IRP с кодами управления вводом-выводом для конкретного устройства или драйвера, запрашивая поддержку у следующего ниже драйвера.
Запрошенная операция зависит от устройства или драйвера.
Общие сведения о кодах элементов управления вводом-выводом для IRP_MJ_DEVICE_CONTROL или IRP_MJ_INTERNAL_DEVICE_CONTROL запросов см. в разделе Использование кодов управления ввода-вывода. См. также раздел Запросы ввода-вывода Type-Specific устройств.
Требования
Заголовок |
Wdm.h (включая Wdm.h, Ntddk.h или Ntifs.h) |