Initialisation d’un miniport virtuel
Pour lancer l’initialisation d’un miniport virtuel, un pilote intermédiaire appelle la fonction NdisIMInitializeDeviceInstanceEx. Le pilote intermédiaire effectue généralement cet appel à partir de sa fonction ProtocolBindAdapterEx. Après que le pilote intermédiaire appelle NdisIMInitializeDeviceInstanceEx et que le gestionnaire de Plug-and-Play demande NDIS de démarrer l’appareil virtuel, NDIS appelle la fonction MiniportInitializeEx du pilote.
L’appel à MiniportInitializeEx peut être dans le contexte de NdisIMInitializeDeviceInstanceEx si le gestionnaire Plug-and-Play démarre l’appareil virtuel avant que NdisIMInitializeDeviceInstanceEx retourne. Si le pilote intermédiaire fournit plusieurs miniports virtuels, le pilote doit appeler NdisIMInitializeDeviceInstanceEx pour chaque miniport virtuel qu’il met à disposition.
NDIS transmet les paramètres d’initialisation à MiniportInitializeEx dans une structure NDIS_MINIPORT_INIT_PARAMETERS à MiniportInitParameters . Le membre IMDeviceInstanceContext de la structure spécifie un pointeur vers la zone de contexte d’un appareil virtuel. Le pilote a passé ce pointeur à la fonction NdisIMInitializeDeviceInstanceEx au paramètre DeviceContext.
Dans MiniportInitializeEx, le pilote intermédiaire effectue les opérations requises pour initialiser un miniport virtuel. Cette initialisation est similaire à l’initialisation d’un autre adaptateur miniport.