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


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

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

Синтаксис

VPCI_READ_BLOCK VpciReadBlock;

NTSTATUS VpciReadBlock(
  PVOID Context,
  ULONG BlockId,
  PVOID Buffer,
  ULONG Length
)
{...}

Параметры

Context

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

BlockId

[in] Идентификатор считываемого блока конфигурации VF. Этот идентификатор является собственностью независимого поставщика оборудования (IHV) и используется только драйверами для физических функций PCIe (PF) и VF на устройстве.

Buffer

[out] Указатель на буфер, выделенный вызывающим объектом, который будет содержать считываемые данные конфигурации. Дополнительные сведения см. в подразделе "Примечания".

Length

[in] Число байтов, считываемых из блока конфигурации VF.

Примечание

Значение этого параметра не должно превышать VPCI_MAX_READ_WRITE_BLOCK_SIZE.

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

Подпрограмма ReadVfConfigBlock возвращает STATUS_SUCCESS , если операция выполнена успешно. В противном случае подпрограмма возвращает соответствующее значение NTSTATUS.

Комментарии

При вызове подпрограммы ReadVfConfigBlock драйвер PF получает уведомление о возврате данных из указанного блока конфигурации VF.

Блок конфигурации VF используется для обмена данными между драйверами PF и VF на устройстве, поддерживающем интерфейс SR-IOV. IHV может определить один или несколько блоков конфигурации VF для устройства. Каждый блок конфигурации VF имеет формат, длину и идентификатор блока, определяемый IHV.

Данными конфигурации VF можно обмениваться между следующими драйверами в защищенном режиме:

  • Драйвер VF, который выполняется в гостевой операционной системе. Эта операционная система работает в дочернем разделе Hyper-V.
  • Драйвер PF, который работает в операционной системе управления. Эта операционная система работает в родительском разделе Hyper-V.

Данные из каждого блока конфигурации VF используются только драйверами PF и VF.

Примечание

IOCTL_VPCI_READ_BLOCK IOCTL предлагает асинхронную альтернативу процедуре ReadVfConfigBlock.

Требования

Требование Значение
Минимальная версия сервера Windows Server 2012
Верхняя часть vpci.h
IRQL <= APC_LEVEL

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

IOCTL_VPCI_READ_BLOCK

VPCI_INTERFACE_STANDARD