Linee guida miniportAddDevice per i driver MINIport PF
Questo argomento descrive le linee guida per la scrittura di una funzione MiniportAddDevice per il driver miniport della funzione fisica PCI Express (PCIe). Pf è un componente di una scheda di rete che supporta la virtualizzazione I/O radice singola (SR-IOV).
Nota Queste linee guida si applicano solo ai driver miniport PF. Per le linee guida di inizializzazione per il driver miniport di una funzione virtuale PCIe (VF) dell'adattatore, vedere Inizializzazione di un driver miniport VF.
La gestione Plug and Play (PnP) chiama la funzione AddDevice NDIS per creare l'oggetto dispositivo funzionale (FDO) per la scheda di rete. Se il driver PF miniport ha registrato un punto di ingresso MiniportAddDevice quando si chiama NdisMRegisterMiniportDriver, NDIS chiama la funzione MiniportAddDevice del driver.
Quando viene chiamato MiniportAddDevice , il driver miniport PF può allocare risorse software aggiuntive per il commutatore SR-IOV e la scheda di interfaccia di rete (NIC). In genere, queste sono risorse che devono essere allocate prima che NDIS chiami la funzione MiniportInitializeEx del driver.
Il driver può eseguire le operazioni seguenti nel contesto della chiamata a MiniportAddDevice:
Il driver miniport PF può chiamare NdisReadConfiguration per leggere le impostazioni di configurazione del commutatore SR-IOV e NIC dal Registro di sistema. Queste impostazioni di configurazione vengono definite tramite le parole chiave SR-IOV standardizzate. Per altre informazioni su queste parole chiave, vedere Parole chiave INF standardizzate per SR-IOV.
In base a queste impostazioni di configurazione, il driver miniport PF alloca le risorse software aggiuntive per la scheda di rete SR-IOV.
Nota L'allocazione effettiva delle risorse hardware e l'abilitazione di SR-IOV nello spazio di configurazione PCI deve essere eseguita solo nel contesto della chiamata a MiniportInitializeEx. Poiché lo spazio di I/O (MMIO) mappato alla memoria della scheda di rete non viene inizializzato quando viene chiamato MiniportAddDevice , il driver miniport non deve leggere o scrivere nella scheda finché non viene chiamato MiniportInitializeEx .