Поделиться через


функция обратного вызова GET_VIRTUAL_DEVICE_RESOURCES (wdm.h)

Подпрограмма GetResources возвращает ресурсы, необходимые физической функции PCI Express (PCIe) для включения виртуализации на устройстве, поддерживающем единый интерфейс виртуализации ввода-вывода (SR-IOV).

Синтаксис

GET_VIRTUAL_DEVICE_RESOURCES GetVirtualDeviceResources;

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

Параметры

[in, out] Context

Указатель на сведения о контексте для конкретного интерфейса. Вызывающий объект передает значение, передаваемое в качестве элемента Contextструктуры PCI_VIRTUALIZATION_INTERFACE для интерфейса.

[out] CapturedBusNumbers

Указатель на переменную, предоставленную вызывающим методом, в которой эта подпрограмма возвращает значение UINT8. Это значение указывает количество шин PCIe, которые были записаны для использования SR-IOV PF устройства.

Возвращаемое значение

None

Remarks

Устройство PCIe обычно потребляет ресурсы на одной шине PCI. Драйвер PCI назначает устройство шине PCI, записывая номер шины в регистр номер вторичной шины и номер подчиненной шины в порте моста вышестоящий. Этот порт является мостом pci-PCI в корневом порту PCIe или порте коммутатора PCIe.

Устройство, поддерживающее интерфейс SR-IOV, может создавать больше виртуальных функций, чем может быть размещено на шине PCI, к которой подключено устройство. В таких ситуациях порт моста вышестоящий должен быть настроен для захвата одного или нескольких неиспользуемых шин PCI. Это делается путем записи большего значения в регистр номера подчиненной шины порта.

Устройство, поддерживающее интерфейс SR-IOV, должно записывать шины PCI, если выполняется хотя бы одно из следующих действий:

  • Устройство имеет более восьми функций (PFs и VFs), и устройство не поддерживает вариант альтернативной интерпретации маршрутизации (ARI) спецификации PCI Express 3.0.

  • Устройство поддерживает ARI и имеет более восьми функций, но порт моста вышестоящий не поддерживает ARI.

  • Устройство поддерживает ARI и имеет более 256 функций, а порт моста вышестоящий поддерживает ARI.

Независимо от поддержки ARI, каждая захваченная шина может поддерживать 256 функций.

Если устройству требуется больше идентификаторов запрашивающей стороны PCIe (RID), чтобы включить все виртуальные машины, драйвер шины PCI выполняет следующие действия:

  1. Записывает номер шины устройства в регистр дополнительного номера шины PCIe.

  2. Записывает значение, превышающее номер шины устройства, в регистр номера подчиненной шины PCIe.

Разница между этими двумя значениями регистра представляет количество захваченных номеров автобусов.

Подпрограмма GetResources предоставляется интерфейсом GUID_PCI_VIRTUALIZATION_INTERFACE .

Требования

Требование Значение
Минимальная версия клиента Поддерживается в Windows Server 2012 и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть wdm.h (включая Wdm.h)
IRQL PASSIVE_LEVEL

См. также раздел

PCI_VIRTUALIZATION_INTERFACE