Función NdisMGetVirtualFunctionBusData (ndis.h)
Un controlador de miniporta llama a la función NdisMGetVirtualFunctionBusData para leer datos del espacio de configuración PCI Express (PCIe) de una función virtual (VF) especificada en el adaptador de red.
Sintaxis
ULONG NdisMGetVirtualFunctionBusData(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[out] 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 desde el que se devuelven los datos del espacio de configuración pci.
[out] Buffer
Puntero a un búfer que recibe los datos leídos del espacio de configuración PCI de VF.
[in] Offset
Desplazamiento, en unidades de bytes, en el espacio de configuración PCI de VF desde el que se leen los datos.
[in] Length
Longitud, en unidades de bytes, de los datos que se van a leer.
Valor devuelto
NdisMGetVirtualFunctionBusData devuelve el número de bytes leídos del espacio de configuración pci. Si se produce un error en la operación de lectura, NdisMGetVirtualFunctionBusData devuelve cero.
Observaciones
El controlador de miniport pf normalmente llama a NdisMGetVirtualFunctionBusData cuando controla una solicitud de método OID de OID_SRIOV_READ_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 cómo consultar el espacio de configuración pci de VF, consulte Consulta del espacio de configuración de PCI para una función virtual.
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 miniport no debe llamar a NdisMGetVirtualFunctionBusData. 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 GetVirtualFunctionData. 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