Inizializzazione di un miniport virtuale
Per avviare l'inizializzazione di un miniport virtuale, un driver intermedio chiama la funzione NdisIMInitializeDeviceInstanceEx. Il driver intermedio esegue in genere questa chiamata dalla funzione ProtocolBindAdapterEx. Dopo che il driver intermedio chiama NdisIMInitializeDeviceInstanceEx e il gestore Plug and Play richiede a NDIS di avviare il dispositivo virtuale, NDIS chiama la funzione MiniportInitializeEx del driver.
La chiamata a MiniportInitializeEx può essere nel contesto di NdisIMInitializeDeviceInstanceEx se il gestore Plug and Play avvia il dispositivo virtuale prima che NdisIMInitializeDeviceInstanceEx restituisca. Se il driver intermedio fornisce più miniport virtuali, il driver deve chiamare NdisIMInitializeDeviceInstanceEx per ogni miniport virtuale che rende disponibile.
NDIS passa i parametri di inizializzazione a MiniportInitializeEx in una struttura NDIS_MINIPORT_INIT_PARAMETERS in MiniportInitParameters . Il membro IMDeviceInstanceContext della struttura specifica un puntatore all'area di contesto per un dispositivo virtuale. Il driver ha passato questo puntatore alla funzione NdisIMInitializeDeviceInstanceEx nel parametro DeviceContext .
In MiniportInitializeEx, il driver intermedio esegue le operazioni necessarie per inizializzare un miniport virtuale. Questa inizializzazione è simile all'inizializzazione di qualsiasi altra scheda miniport.