Стек драйверов IEEE 1394
На следующей схеме показан стек драйверов IEEE 1394 с новым драйвером автобуса 1394 и поддерживаемыми корпорацией Майкрософт клиентскими драйверами 1394.
Драйвер клиента для устройства, подключающегося к драйверу автобуса IEEE 1394, находится на вершине стека драйверов IEEE 1394. Драйвер автобуса предоставляет аппаратно-независимый интерфейс к шине IEEE 1394. Драйвер устройства взаимодействует с устройством, отправляя irp, которые обрабатываются драйвером шины IEEE 1394. До Windows 7 драйвер автобуса представлял собой сочетание драйвера порта (1394bus.sys) и основного драйвера мини-порта для хост-контроллера системной платы (ochi1394.sys). В Windows 7 и более поздних версиях устаревшие драйверы портов и мини-портов заменяются 1394ohci.sys, монолитным драйвером автобуса IEEE 1394, который реализуется с помощью платформы драйверов в режиме ядра (KMDF). Драйвер 1394ohci.sys автобуса полностью обратно совместим с устаревшими водителями автобуса 1394. Дополнительные сведения о некоторых известных различиях в поведении нового водителя автобуса и устаревших водителей автобуса 1394 см. в статье IEEE 1394 Bus Driver in Windows 7.
На следующем рисунке показана связь между устаревшими и новыми водителями автобусов 1394.
Чтобы выполнять команды устройствам, подключенным к шине, водители выдают IRP_MJ_DEVICE_CONTROL IRP с IOCTL_1394_CLASS кода управления. Драйвер упаковает параметры в блок запросов ввода-вывода IEEE 1394 (IRB) и передает на него указатель в члене Parameters.Others.Argument1 IRP. Элемент FunctionNumber IRB определяет тип операции, а член u — операцию. Драйвер шины использует IOCTL_1394_CLASS IRP для представления интерфейса как для шины, так и для контроллера узла.
Структура IRB содержит параметры, которые применяются к каждому запросу шины и параметрам, зависящим от запроса. Элемент U IRB содержит параметры, относящиеся к запросу, в объединении структур данных, по одному для каждого типа запроса.
Во время нормальной работы драйверы получают обычные запросы ввода-вывода (например , IRP_MJ_READ), преобразуют их в соответствующую операцию IEEE 1394 и отправляют эти операции на устройство через IOCTL_1394_CLASS.
Связанные темы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по