Inicialización de un miniport virtual
Para iniciar la inicialización de un miniport virtual, un controlador intermedio llama a la función NdisIMInitializeDeviceInstanceEx. Normalmente, el controlador intermedio realiza esta llamada desde su función ProtocolBindAdapterEx. Una vez que el controlador intermedio llama a NdisIMInitializeDeviceInstanceEx y el administrador de Plug and Play solicita que NDIS inicie el dispositivo virtual, NDIS llama a la función MiniportInitializeEx del controlador.
La llamada a MiniportInitializeEx puede estar en el contexto de NdisIMInitializeDeviceInstanceEx si el administrador de Plug and Play inicia el dispositivo virtual antes de que se devuelva NdisIMInitializeDeviceInstanceEx. Si el controlador intermedio proporciona más de un miniport virtual, el controlador debe llamar a NdisIMInitializeDeviceInstanceEx para cada miniporte virtual que ponga a disposición.
NDIS pasa parámetros de inicialización a MiniportInitializeEx en una estructura de NDIS_MINIPORT_INIT_PARAMETERS en MiniportInitParameters . El miembro IMDeviceInstanceContext de la estructura especifica un puntero al área de contexto de un dispositivo virtual. El controlador pasó este puntero a la función NdisIMInitializeDeviceInstanceEx en el parámetro DeviceContext.
En MiniportInitializeEx, el controlador intermedio realiza las operaciones necesarias para inicializar un miniport virtual. Esta inicialización es similar a la inicialización de cualquier otro adaptador de minipuerto.