Compartir a través de


Función NdisMSetVirtualFunctionBusData (ndis.h)

Un controlador de minipuerto llama a la función NdisMSetVirtualFunctionBusData para escribir datos en el espacio de configuración de PCI Express (PCIe) de una función virtual (VF) en el adaptador de red.

NotaNdisMGetVirtualFunctionBusData solo debe llamarlo el controlador de miniport para la función física PCIe (PF) del adaptador de red.
 

Sintaxis

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

Parámetros

[in] NdisMiniportHandle

Identificador del adaptador de red que NDIS pasó al parámetro MiniportAdapterHandle de MiniportInitializeEx.

[in] VFId

Identificador del VF en el que se escriben los datos en su espacio de configuración pci.

[in] Buffer

Puntero a un búfer que contiene los datos que se van a escribir en el espacio de configuración pci.

[in] Offset

Desplazamiento, en unidades de bytes, en el espacio de configuración PCI en el que se escriben los datos.

[in] Length

Longitud, en unidades de bytes, de los datos que se van a escribir.

Valor devuelto

NdisMSetVirtualFunctionBusData devuelve el número de bytes escritos en el espacio de configuración pci. Si se produce un error en la operación de escritura, NdisMSetVirtualFunctionBusData devuelve cero.

Observaciones

El controlador de miniport pf normalmente llama a NdisMSetVirtualFunctionBusData cuando controla una solicitud de método OID de OID_SRIOV_WRITE_VF_CONFIG_SPACE.
Sin embargo, el controlador puede llamar a esta función en cualquier momento después de habilitar la virtualización en el adaptador de red a través de una llamada a NdisMEnableVirtualization.

Para obtener más información sobre la comunicación backchannel dentro de la interfaz de virtualización de E/S raíz única (SR-IOV), consulte SR-IOV comunicación backcanal PF/VF.

Para obtener más información sobre la interfaz de SR-IOV, consulte Información general sobre la virtualización de E/S raíz única (SR-IOV).

interfase a un controlador de Virtual Bus

Si un proveedor de hardware independiente (IHV) proporciona un controlador de bus virtual (VBD) como parte de su paquete de controladores SR-IOV , su controlador de miniporte no debe llamar a NdisMSetVirtualFunctionBusData. En su lugar, el controlador debe interactuar con VBD a través de un canal de comunicación privado y solicitar que la llamada de VBD SetVirtualFunctionData. Esta función se expone desde la interfaz GUID_PCI_VIRTUALIZATION_INTERFACE compatible con el controlador de bus PCI subyacente.

El VBD que se ejecuta en el sistema operativo de administración de Hyper-V partición primaria puede consultar la interfaz de GUID_PCI_VIRTUALIZATION_INTERFACE mediante la emisión de una solicitud de IRP_MN_QUERY_INTERFACE a su objeto de dispositivo físico (PDO) en el bus PCI. Esta solicitud debe realizarse desde IRQL = PASSIVE_LEVEL. En esta solicitud, el controlador debe establecer el parámetro InterfaceType en GUID_PCI_VIRTUALIZATION_INTERFACE.

Requisitos

Requisito Valor
cliente mínimo admitido Ninguna compatible, compatible con NDIS 6.30 y versiones posteriores.
servidor mínimo admitido Windows Server 2012
de la plataforma de destino de Universal
encabezado de ndis.h (incluya Ndis.h)
biblioteca de Ndis.lib
irQL <= DISPATCH_LEVEL

Consulte también

GUID_PCI_VIRTUALIZATION_INTERFACE

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_WRITE_VF_CONFIG_SPACE

SetVirtualFunctionData