Compartir a través de


GET_VIRTUAL_DEVICE_RESOURCES función de devolución de llamada (wdm.h)

La rutina GetResources devuelve los recursos que requiere la función física PCI Express (PCIe) (PF) para habilitar la virtualización en un dispositivo que admita la interfaz de virtualización de E/S raíz única (SR-IOV).

Sintaxis

GET_VIRTUAL_DEVICE_RESOURCES GetVirtualDeviceResources;

void GetVirtualDeviceResources(
  [in, out] PVOID Context,
  [out]     PUINT8 CapturedBusNumbers
)
{...}

Parámetros

[in, out] Context

Puntero a información de contexto específica de la interfaz. El autor de la llamada pasa el valor que se pasa como miembro Context de la estructura PCI_VIRTUALIZATION_INTERFACE de la interfaz.

[out] CapturedBusNumbers

Puntero a una variable proporcionada por el autor de la llamada en la que esta rutina devuelve un valor UINT8. Este valor especifica el número de buses PCIe capturados para su uso por el PF SR-IOV del dispositivo.

Valor devuelto

None

Observaciones

Un dispositivo PCIe normalmente consume recursos en un único bus PCI. El controlador PCI asigna un dispositivo a un bus PCI escribiendo el número de autobús en el registro número de bus secundario y el registro de número de autobús subordinado en el puerto del puente ascendente. Este puerto es un puente PCI a PCI dentro de un puerto raíz PCIe o un puerto de conmutador PCIe.

Un dispositivo que admita la interfaz SR-IOV puede crear más funciones virtuales de las que se pueden alojar en el bus PCI en el que está conectado el dispositivo. En estas situaciones, el puerto del puente ascendente debe configurarse para capturar uno o varios buses PCI sin usar. Esto se hace escribiendo un valor mayor en el registro de número de bus subordinado del puerto.

Un dispositivo que admita la interfaz SR-IOV debe capturar buses PCI si se cumple al menos una de las siguientes condiciones:

  • El dispositivo tiene más de ocho funciones totales (FF y VFs) y el dispositivo no admite la opción interpretación de enrutamiento alternativo (ARI) de la especificación PCI Express 3.0.

  • El dispositivo admite ARI y tiene más de ocho funciones totales, pero el puerto de puente ascendente no admite ARI.

  • El dispositivo admite ARI y tiene más de 256 funciones, y el puerto de puente ascendente admite ARI.

Independientemente de la compatibilidad con ARI, cada bus capturado puede admitir 256 funciones.

Si el dispositivo necesita más identificadores de solicitante de PCIe (RID) para habilitar todas sus máquinas virtuales, el controlador de bus PCI hace lo siguiente:

  1. Escribe el número de bus del dispositivo en el registro de número de bus secundario PCIe.

  2. Escribe un valor mayor que el número de bus del dispositivo en el registro de número de bus subordinado PCIe.

La diferencia entre estos dos valores de registro representa el número de números de bus capturados.

La interfaz GUID_PCI_VIRTUALIZATION_INTERFACE proporciona la rutina GetResources.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en Windows Server 2012 y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado wdm.h (incluya Wdm.h)
IRQL PASSIVE_LEVEL

Consulte también

PCI_VIRTUALIZATION_INTERFACE