Инициализация виртуального минипорта
Чтобы инициировать инициализацию виртуального минипорта, промежуточный драйвер вызывает функцию NdisIMInitializeDeviceInstanceEx. Промежуточный драйвер обычно вызывает этот вызов из функции ProtocolBindAdapterEx . После вызова NdisIMInitializeDeviceInstanceEx и диспетчера самонастраивающийся запрашивает NDIS для запуска виртуального устройства, NDIS вызывает функцию MiniportInitializeEx драйвера.
Вызов MiniportInitializeEx может находиться в контексте NdisIMInitializeDeviceInstanceEx, если диспетчер самонастраивающийся запускает виртуальное устройство до возврата NdisIMInitializeDeviceInstanceEx. Если промежуточный драйвер предоставляет несколько виртуальных мини-портов, драйвер должен вызвать NdisIMInitializeDeviceInstanceEx для каждого виртуального мини-порта, который он предоставляет.
NDIS передает параметры инициализации в MiniportInitializeEx в структуре NDIS_MINIPORT_INIT_PARAMETERS в MiniportInitParameters. Элемент IMDeviceInstanceContext структуры указывает указатель на область контекста для виртуального устройства. Драйвер передал этот указатель на функцию NdisIMInitializeDeviceInstanceEx в параметре DeviceContext.
В MiniportInitializeEx промежуточный драйвер выполняет операции, необходимые для инициализации виртуального минипорта. Эта инициализация аналогична инициализации любого другого мини-адаптера.