OID_NIC_SWITCH_ENUM_VFS
Un driver o un'applicazione in modalità utente genera una richiesta di metodo OID (Object Identifier) di OID_NIC_SWITCH_ENUM_VFS per ottenere una matrice. Ogni elemento nella matrice specifica gli attributi di una funzione virtuale PCI Express (PCIe) collegata a un commutatore di interfaccia di rete su un commutatore di scheda di rete.
Una volta restituito correttamente da questa richiesta di query OID, il membro InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a un buffer contenente quanto segue:
Struttura NDIS_NIC_SWITCH_VF_INFO_ARRAY che definisce il numero di elementi all'interno della matrice.
Matrice di strutture NDIS_NIC_SWITCH_VF_INFO . Ognuna di queste strutture contiene informazioni su un singolo VF in un commutatore di scheda di rete della scheda di rete. Un oggetto VF viene collegato a un commutatore della scheda di interfaccia di rete tramite richieste di metodo OID di OID_NIC_SWITCH_ALLOCATE_VF.
Nota Se nessun VFS è collegato a un commutatore di interfaccia di rete nella scheda di rete, il membro NumElements della struttura NDIS_NIC_SWITCH_VF_INFO_ARRAY è impostato su zero e non vengono restituite strutture NDIS_NIC_SWITCH_VF_INFO .
Commenti
I driver eccessivamente e le applicazioni in modalità utente emettono richieste di metodi OID di OID_NIC_SWITCH_ENUM_VFS per enumerare le VFS collegate al commutatore della scheda di rete di una scheda di rete.
Prima che il driver o l'applicazione eseva la richiesta OID, deve inizializzare una struttura NDIS_NIC_SWITCH_VF_INFO_ARRAY passata insieme alla richiesta. Il driver o l'applicazione devono seguire queste linee guida durante l'inizializzazione della struttura NDIS_NIC_SWITCH_VF_INFO_ARRAY :
Se il flag NDIS_NIC_SWITCH_VF_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH è impostato nel membro Flags , il driver o l'applicazione deve impostare il membro SwitchId sull'identificatore del commutatore di interfaccia di rete nella scheda di rete SR-IOV. Impostando questi membri in questo modo, le informazioni VF vengono restituite solo per il commutatore di interfaccia di rete specificato nella scheda di rete SR-IOV.
Nota L'applicazione overlying driver e user-mode può ottenere gli identificatori del commutatore della scheda di interfaccia di rete inviando una richiesta di query OID di OID_NIC_SWITCH_ENUM_SWITCHES.
Se il membro Flags è impostato su zero, il driver o l'applicazione deve impostare il membro SwitchId su zero. Impostando questi membri in questo modo, le informazioni VF vengono restituite per tutti i commutatori di scheda di interfaccia di rete nella scheda di rete SR-IOV.
Nota A partire da Windows Server 2012, Windows supporta solo il commutatore di scheda di interfaccia di rete predefinito nella scheda di rete. Indipendentemente dai flag impostati nel membro Flags , il membro SwitchId deve essere impostato su NDIS_DEFAULT_SWITCH_ID.
Per altre informazioni sulle opzioni della scheda di interfaccia di rete, vedere Commutatori di scheda di interfaccia di rete.
Codici di stato restituiti
NDIS gestisce la richiesta del metodo OID della richiesta di OID_NIC_SWITCH_ENUM_VFS per i driver miniport. I driver non verranno emessi da questa richiesta OID.
Quando NDIS gestisce la richiesta di OID_NIC_SWITCH_ENUM_VFS, restituisce uno dei codici di stato seguenti.
Codice di stato | Descrizione |
---|---|
NDIS_STATUS_SUCCESS |
La richiesta OID è stata completata correttamente. |
NDIS_STATUS_NOT_SUPPORTED |
Il driver miniport non supporta l'interfaccia di virtualizzazione I/O radice singola (SR-IOV) o non è abilitata per l'uso dell'interfaccia. |
NDIS_STATUS_INVALID_PARAMETER |
Uno o più membri della struttura NDIS_NIC_SWITCH_VF_INFO_ARRAY hanno valori non validi. |
NDIS_STATUS_INVALID_LENGTH |
Il buffer delle informazioni era troppo breve. NDIS imposta i DATI. METHOD_INFORMATION. Membro BytesNeeded nella struttura NDIS_OID_REQUEST alle dimensioni minime del buffer necessarie. |
NDIS_STATUS_FAILURE |
La richiesta non è riuscita per altri motivi. |
Requisiti
Versione |
Supportato in NDIS 6.30 e versioni successive. |
Intestazione |
Ntddndis.h (include Ndis.h) |