Condividi tramite


Funzione NdisMSetVirtualFunctionBusData (ndis.h)

Un driver miniport chiama la funzione NdisMSetVirtualFunctionBusData per scrivere dati nello spazio di configurazione PCI Express (PCIe) di una funzione virtuale (VF) nella scheda di rete.

NotaNdisMGetVirtualFunctionBusData deve essere chiamato solo dal driver miniport per la funzione fisica PCIe (PF) della scheda di rete.
 

Sintassi

ULONG NdisMSetVirtualFunctionBusData(
  [in] NDIS_HANDLE            NdisMiniportHandle,
  [in] NDIS_SRIOV_FUNCTION_ID VFId,
  [in] PVOID                  Buffer,
  [in] ULONG                  Offset,
  [in] ULONG                  Length
);

Parametri

[in] NdisMiniportHandle

La scheda di rete gestisce l'NDIS passata al parametro MiniportAdapterHandle di MiniportInitializeEx.

[in] VFId

Identificatore del VF in cui i dati vengono scritti nello spazio di configurazione PCI.

[in] Buffer

Puntatore a un buffer contenente i dati da scrivere nello spazio di configurazione PCI.

[in] Offset

Offset, in unità di byte, nello spazio di configurazione PCI in cui vengono scritti i dati.

[in] Length

Lunghezza, in unità di byte, dei dati da scrivere.

Valore restituito

NdisMSetVirtualFunctionBusData restituisce il numero di byte scritti nello spazio di configurazione PCI. Se l'operazione di scrittura non riesce, NdisMSetVirtualFunctionBusData restituisce zero.

Commenti

Il driver miniport PF chiama in genere NdisMSetVirtualFunctionBusData quando gestisce una richiesta di metodo OID di OID_SRIOV_WRITE_VF_CONFIG_SPACE.
Tuttavia, il driver può chiamare questa funzione in qualsiasi momento dopo l'abilitazione della virtualizzazione nella scheda di rete tramite una chiamata a NdisMEnableVirtualization.

Per altre informazioni sulla comunicazione backchannel all'interno dell'interfaccia SR-IOV (Single Root I/O Virtualization), vedere SR-IOV PF/VF Backchannel Communication.For more information about backchannel communication within the single root I/O virtualization interface (SR-IOV), see SR-IOV PF/VF Backchannel Communication.

Per altre informazioni sull'interfaccia SR-IOV, vedere Panoramica di Single Root I/O Virtualization (SR-IOV).For more information about the SR-IOV interface, see Overview of Single Root I/O Virtualization (SR-IOV).

Interfaccia con un driver del bus virtuale

Se un fornitore di hardware indipendente (IHV) fornisce un driver bus virtuale (VBD) come parte del pacchetto driver SR-IOV, il driver miniport non deve chiamare NdisMSetVirtualFunctionBusData. Al contrario, il driver deve interfacciarsi con VBD tramite un canale di comunicazione privato e richiedere che la chiamata a VBD SetVirtualFunctionData. Questa funzione viene esposta dall'interfaccia GUID_PCI_VIRTUALIZATION_INTERFACE supportata dal driver del bus PCI sottostante.

Il VBD eseguito nel sistema operativo di gestione della partizione padre Hyper-V può eseguire una query sull'interfaccia GUID_PCI_VIRTUALIZATION_INTERFACE inviando una richiesta di IRP_MN_QUERY_INTERFACE al relativo oggetto dispositivo fisico (PDO) nel bus PCI. Questa richiesta deve essere effettuata da IRQL = PASSIVE_LEVEL. In questa richiesta, il driver deve impostare il parametro InterfaceType su GUID_PCI_VIRTUALIZATION_INTERFACE.

Requisiti

Requisito Valore
Client minimo supportato None supported,Supported in NDIS 6.30 and later.
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Universale
Intestazione ndis.h (include Ndis.h)
Libreria Ndis.lib
IRQL <= DISPATCH_LEVEL

Vedi anche

GUID_PCI_VIRTUALIZATION_INTERFACE

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_WRITE_VF_CONFIG_SPACE

SetVirtualFunctionData