OID_NIC_SWITCH_ENUM_VPORTS
Un driver o un'applicazione in modalità utente genera una richiesta di metodo OID (Object Identifier) di OID_NIC_SWITCH_ENUM_VPORTS per ottenere una matrice. Ogni elemento della matrice specifica gli attributi di una porta virtuale (VPort) creata nel commutatore della scheda di rete di una scheda di rete.
Dopo aver restituito correttamente la richiesta di query OID, il membro InformationBuffer della struttura di NDIS_OID_REQUEST contiene un puntatore a un buffer contenente quanto segue:
Struttura NDIS_NIC_SWITCH_VPORT_INFO_ARRAY che definisce il numero di elementi all'interno della matrice.
Matrice di strutture NDIS_NIC_SWITCH_VPORT_INFO . Ognuna di queste strutture contiene informazioni su un VPort nel commutatore della scheda di rete.
Nota Se non sono state create VPort nella scheda di rete, il driver imposta il membro NumElements della struttura NDIS_NIC_SWITCH_VPORT_INFO_ARRAY su zero e non vengono restituite strutture NDIS_NIC_SWITCH_VPORT_INFO .
Commenti
I driver e le applicazioni in modalità utente eseguono richieste di query OID di OID_NIC_SWITCH_ENUM_VPORTS per enumerare i VPort allocati nel commutatore della scheda di rete.
Prima che il driver o l'applicazione verifichino la richiesta OID, è necessario inizializzare una struttura NDIS_NIC_SWITCH_VPORT_INFO_ARRAY passata insieme alla richiesta. Il driver o l'applicazione devono seguire queste linee guida durante l'inizializzazione della struttura NDIS_NIC_SWITCH_VPORT_INFO_ARRAY :
Se il flag NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH è impostato nel membro Flags , le informazioni vengono restituite per tutte le VPort create in un commutatore di interfaccia di interfaccia di rete specificato. L'opzione della scheda di interfaccia di rete viene specificata dal membro SwitchId di tale struttura.
Nota A partire da Windows Server 2012, l'interfaccia SR-IOV supporta solo l'opzione NIC predefinita nella scheda di rete. Indipendentemente dai flag impostati nel membro Flags , il membro SwitchId deve essere impostato su NDIS_DEFAULT_SWITCH_ID.
Se il flag NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION è impostato nel membro Flags , le informazioni vengono restituite per tutte le VPort collegate a una funzione fisica PCI Express (PCIe) specificata o funzione virtuale (VF) nella scheda di rete. Pf o VF viene specificato dal membro AttachedFunctionId di tale struttura.
Se il membro AttachedFunctionId è impostato su NDIS_PF_FUNCTION_ID, le informazioni vengono restituite per tutte le VPort, incluse le VPort predefinite, associate al pf della scheda di rete. Se il membro AttachedFunctionId è impostato su un identificatore VF valido, le informazioni vengono restituite per tutte le VPorts all'VF specificato.
Nota A partire da Windows Server 2012, è possibile collegare un solo VPort non definito a un VF. Tuttavia, è possibile collegare più VPort (incluso il VPort predefinito) al pf.
Se il membro Flags è impostato su zero, le informazioni vengono restituite per tutte le VPort collegate alla scheda di rete PF o VF. In questo caso, i valori di SwitchId e AttachedFunctionId vengono ignorati.
Per altre informazioni, vedere Enumerazione delle porte virtuali in una scheda di rete.
Codici di stato restituiti
NDIS gestisce la richiesta del metodo OID della richiesta di OID_NIC_SWITCH_ENUM_VPORTS per i driver miniport. I driver non verranno emessi questa richiesta OID.
Quando NDIS gestisce la richiesta di OID_NIC_SWITCH_ENUM_VPORTS, 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 (SR-IOV) radice singola 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 ByteNeeded nella struttura NDIS_OID_REQUEST alla dimensione minima del buffer necessaria. |
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) |