Инициализация драйвера Miniport-Intermediate
Драйвер miniport-intermediate объединяет драйвер минипорта для виртуального устройства, драйвер протокола и драйвер минипорта для физического устройства. Драйвер miniport-intermediate работает аналогично промежуточному драйверу, наложенном на драйвер минипорта. Такой драйвер позволяет промежуточному водителю напрямую взаимодействовать с базовым драйвером минипорта, не повлекая за собой штрафы за производительность, которые могут привести к двум отдельным драйверам.
Чтобы зарегистрировать физический драйвер минипорта, драйвер miniport-intermediate вызывает функцию NdisMRegisterMiniportDriver с соответствующими параметрами , как и для любого драйвера минипорта. Чтобы зарегистрировать свой виртуальный минипорт, драйвер снова вызывает NdisMRegisterMiniportDriver , но с флагом NDIS_INTERMEDIATE_DRIVER, установленным в структуре miniportDriverCharacteristics .
Для каждого экземпляра виртуального или физического устройства драйвера miniport-intermediate, если для раздела реестра IMMiniport задано значение DWORD:0x0000001, NDIS вызывает функцию MiniportInitializeEx , зарегистрированную драйвером для виртуального устройства. В противном случае NDIS вызывает функцию MiniportInitializeEx драйвера, зарегистрированную драйвером для физического устройства.