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


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

Считывает данные из указанного блока конфигурации pci Express SR-IOV виртуальной функции (VF).

Синтаксис

SRIOV_READ_BLOCK SriovReadBlock;

NTSTATUS SriovReadBlock(
  [in]  PVOID Context,
  [in]  USHORT VfIndex,
  [in]  ULONG BlockId,
  [out] PVOID Buffer,
  [in]  ULONG Length
)
{...}

Параметры

[in] Context

Указатель на определяемый драйвером контекст.

[in] VfIndex

Отсчитываемый от нуля индекс VF, к которому применяется эта операция чтения.

[in] BlockId

Число, определяющее блок для чтения. Это определяется поставщиком драйвера PF.

[out] Buffer

Указатель на буфер, который получает данные, считываемые из пространства конфигурации VF.

[in] Length

Длина в байтах этой операции чтения. Не должно быть больше VPCI_MAX_READ_WRITE_BLOCK_SIZE, определенных в pcivirt.h.

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

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

Замечания

Эта функция обратного вызова реализуется драйвером физической функции (PF). Он вызывается, когда система хочет считывать блок конфигурации для одного из виртуальных машин.

Драйвер PF регистрирует свою реализацию, задав ReadVfConfigBlock член SRIOV_DEVICE_INTERFACE_STANDARD, настройку структуры WDF_QUERY_INTERFACE_CONFIG и вызов WdfDeviceAddQueryInterface.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10
минимальный поддерживаемый сервер Windows Server 2016
целевая платформа Виндоус
заголовка pcivirt.h
IRQL PASSIVE_LEVEL