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


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

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

Синтаксис

VPCI_WRITE_BLOCK VpciWriteBlock;

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

Параметры

Context

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

BlockId

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

Buffer

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

Length

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

Примечание

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

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

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

Комментарии

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

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

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

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

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

Примечание

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

Требования

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

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

IOCTL_VPCI_WRITE_BLOCK

VPCI_INTERFACE_STANDARD