Типы объектов устройств WDM
Существует три типа объектов устройств WDM:
Физический объект устройства (PDO) — представляет устройство в автобусе для водителя автобуса.
Функциональный объект устройства (FDO) — представляет устройство для драйвера функции.
Filter Device Object (filter DO) — представляет устройство для драйвера фильтра.
Все три типа объектов устройств относятся к типу DEVICE_OBJECT, но используются по-разному и могут иметь разные расширения устройств.
Драйвер добавляет себя в стек драйверов, обрабатывающих операции ввода-вывода для устройства, путем создания объекта устройства (IoCreateDevice) и его присоединения к стеку устройств (IoAttachDeviceToDeviceStack). IoAttachDeviceToDeviceStack определяет текущую верхнюю часть стека устройств и присоединяет новый объект устройства к верхней части стека устройств.