Registro como controlador intermedio de NDIS
Un controlador intermedio NDIS debe registrar sus funciones MiniportXxx y sus funciones ProtocolXxx con NDIS en el contexto de su función DriverEntry . Para registrar sus funciones MiniportXxx , un controlador intermedio debe llamar a NdisMRegisterMiniportDriver con la marca NDIS_INTERMEDIATE_DRIVER establecida. Esta marca está en la estructura NDIS_MINIPORT_DRIVER_CHARACTERISTICS que el controlador pasa en MiniportDriverCharacteristics . Esta llamada exporta las funciones MiniportXxx del controlador intermedio. Para obtener más información sobre el registro de funciones MiniportXxx , consulte Registro de un controlador intermedio como controlador miniportador.
Tenga en cuenta que el controlador intermedio controla cuándo se inicializan sus miniportes virtuales y, por tanto, cuando el controlador está listo para aceptar envíos y solicitudes en un adaptador. NDIS llama a la función MiniportInitializeEx del controlador intermedio después de que el administrador de Plug and Play (PnP) haya iniciado el dispositivo de miniport virtual y después de que el controlador intermedio haya llamado a NdisIMInitializeDeviceInstanceEx para ese dispositivo. La llamada a MiniportInitializeEx puede producirse más adelante y, por lo tanto, no está necesariamente dentro del contexto de la llamada a NdisIMInitializeDeviceInstanceEx. Si el controlador intermedio exporta más de un miniport virtual, el controlador debe llamar a NdisIMInitializeDeviceInstanceEx para cada miniporte virtual que pone a disposición de las solicitudes de red.
Para registrar sus funciones ProtocolXxx , un controlador intermedio debe llamar a la función NdisRegisterProtocolDriver . Para obtener más información sobre el registro de funciones ProtocolXxx , consulte Registro de un controlador intermedio como controlador de protocolo.