Inicialización de un controlador miniporte con un borde inferior de WDM
Después de que el sistema operativo haya cargado un controlador de miniporte, NDIS llama a la función MiniportInitializeEx del controlador de miniporte para inicializar una instancia de miniport que administra el controlador de miniport. Para comunicarse a través de una instancia de minipuerto que tiene un borde inferior de WDM, el controlador de minipuerto debe recuperar información específica para configurar sus comunicaciones.
Durante la inicialización de esta instancia de miniport, el controlador de minipuerto debe llamar a la función NdisMGetDeviceProperty para recuperar los objetos de dispositivo necesarios para configurar la comunicación con la instancia de miniport mediante una interfaz WDM. En esta llamada, el controlador de minipuerto pasa el identificador a la instancia de miniport en el parámetro MiniportAdapterHandle y los búferes que reciben punteros a DEVICE_OBJECT estructuras. El controlador de minipuerto usa el puntero recuperado al objeto next-device ( parámetro NextDeviceObject ) para crear y enviar IRP. Para obtener más información, consulte Control de IRP.
Un controlador de minipuerto con un borde inferior de WDM debe ser un controlador de miniporte deserializado. Un controlador de miniporte deserializado administra su propia cola de envío y recepción de solicitudes internamente siempre que no tenga recursos suficientes para controlar estas solicitudes inmediatamente; Si un controlador de minipuerto no está deserializado, NDIS administra esta cola. Se debe deserializar un controlador de miniporte NDIS-WDM porque envía y recibe paquetes fuera del contexto de las llamadas NDIS. Durante la inicialización de una instancia de minipuerto, un controlador de miniporte NDIS-WDM debe especificar la característica deserializada. Todos los controladores de miniporte NDIS 6.0 y versiones posteriores se deserializan.
Tenga en cuenta que un controlador de miniporte NDIS-WDM no puede ser un controlador intermedio (un controlador que expone una interfaz de controlador de minipuerto en la parte superior y una interfaz de controlador de protocolo en la parte inferior).