Инициализация драйвера miniport с нижним краем WDM
После загрузки драйвера мини-порта операционной системой NDIS вызывает функцию MiniportInitializeEx драйвера miniport для инициализации экземпляра мини-порта, которым управляет драйвер мини-порта. Чтобы обмениваться данными через экземпляр мини-порта с нижним краем WDM, драйвер мини-порта должен получить определенные сведения для настройки связи.
Во время инициализации этого экземпляра мини-порта драйвер мини-порта должен вызвать функцию NdisMGetDeviceProperty , чтобы получить объекты устройства, необходимые для настройки связи с экземпляром мини-порта через интерфейс WDM. В этом вызове драйвер мини-порта передает дескриптор экземпляру мини-порта в параметре MiniportAdapterHandle и буферы, которые получают указатели на DEVICE_OBJECT структуры. Драйвер мини-порта использует полученный указатель на объект next-device (параметр NextDeviceObject ) для создания и отправки irP. Дополнительные сведения см. в разделе Обработка IRP.
Драйвер мини-порта с нижним краем WDM должен быть десериализованным драйвером мини-порта. Десериализованный драйвер мини-порта управляет собственной очередью запросов на отправку и получение запросов на внутреннем сервере, когда у него недостаточно ресурсов для немедленной обработки этих запросов; Если драйвер мини-порта не десериализован, NDIS управляет этой очередью. Драйвер мини-порта NDIS-WDM должен быть десериализован, так как он отправляет и получает пакеты вне контекста вызовов NDIS. Во время инициализации экземпляра мини-порта драйвер NDIS-WDM должен указать десериализованную функцию. Все драйверы NDIS 6.0 и более поздних версий мини-порта десериализируются.
Обратите внимание, что драйвер мини-порта NDIS-WDM не может быть промежуточным драйвером (драйвером, предоставляющим интерфейс драйвера мини-порта в верхней части и интерфейсом драйвера протокола в нижней части).