Esecuzione di query sui fornitori PCI e gli identificatori di dispositivo per una funzione virtuale
Nota Questo metodo può essere usato solo dai driver che vengono eseguiti nel sistema operativo di gestione della partizione padre Hyper-V.
Un driver overlying genera una richiesta di metodo OID (Object Identifier) di OID_SRIOV_VF_VENDOR_DEVICE_ID per eseguire query sull'identificatore del fornitore PCI Express (PCIe) e sull'identificatore del dispositivo (DeviceID). Questi dati vengono letti dallo spazio di configurazione PCIe per la funzione virtuale PCIe (VF) nella scheda di rete fisica.
I driver overlying rilasciano questa richiesta di metodo OID al driver miniport della funzione fisica PCI Express (PCIe) della scheda di rete. Questa richiesta di metodo OID è necessaria per i driver miniport PF che supportano l'interfaccia di virtualizzazione I/O (SR-IOV) singola.
Il sistema operativo guest, che viene eseguito in una partizione figlio Hyper-V, usa vendorID e DeviceID del VF per id Plug and Play generici (PnP) per l'enumerazione del dispositivo. A partire da Windows Server 2012, il driver miniport PF può fornire il set di identificatori seguente per la scheda di rete VF esposta nella partizione figlio:
VendorID e DeviceID della scheda di rete fisica. Ciò consente di caricare i driver compatibili nel sistema operativo guest, che viene eseguito nella partizione figlio Hyper-V e nel sistema operativo di gestione, che viene eseguito nella partizione padre Hyper-V.
VendorID e DeviceID che differiscono dagli identificatori della scheda di rete fisica. Ciò consente di caricare un driver nel sistema operativo guest più appropriato per il relativo uso. Ad esempio, il driver miniport PF può restituire un VendorID e DeviceID per una scheda di rete VF in modo che un driver venga caricato che disabilita determinati set di funzionalità, ad esempio l'offload delle attività di risparmio energia o protocollo.
Prima di eseguire questa richiesta di metodo OID, il driver overlying deve inizializzare una struttura NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO . Il driver deve impostare il membro VFId sull'identificatore del VF da cui leggere le informazioni.
Quando gestisce questa richiesta OID, il driver miniport PF deve verificare che il VF specificato abbia risorse che sono state assegnate in precedenza. Il driver miniport PF alloca le risorse per un VF durante una richiesta di metodo OID di OID_NIC_SWITCH_ALLOCATE_VF. Se le risorse per il VF specificato non sono state allocate, il driver deve non riuscire la richiesta OID.