Функция NdisMSetVirtualFunctionBusData (ndis.h)
Драйвер мини-порта вызывает функцию NdisMSetVirtualFunctionBusData для записи данных в пространство конфигурации PCI Express (PCIe) виртуальной функции (VF) сетевого адаптера.
Синтаксис
ULONG NdisMSetVirtualFunctionBusData(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
Параметры
[in] NdisMiniportHandle
Дескриптор сетевого адаптера, переданный NDIS в параметр MiniportAdapterHandleобъекта MiniportInitializeEx.
[in] VFId
Идентификатор VF, в который записываются данные в пространство конфигурации PCI.
[in] Buffer
Указатель на буфер, содержащий данные для записи в пространство конфигурации PCI.
[in] Offset
Смещение в единицах байтов в пространстве конфигурации PCI, в которое записываются данные.
[in] Length
Длина записываемых данных в единицах в байтах.
Возвращаемое значение
NdisMSetVirtualFunctionBusData возвращает количество байтов, записанных в пространство конфигурации PCI. Если операция записи завершается сбоем, функция NdisMSetVirtualFunctionBusData возвращает ноль.
Комментарии
Драйвер минипорта PF обычно вызывает NdisMSetVirtualFunctionBusData при обработке запроса метода OID OID_SRIOV_WRITE_VF_CONFIG_SPACE.
Однако драйвер может вызвать эту функцию в любое время после включения виртуализации в сетевом адаптере с помощью вызова NdisMEnableVirtualization.
Дополнительные сведения о обратном канале связи в интерфейсе SR-IOV (SR-IOV) см. в разделе Sr-IOV PF/VF Backchannel Communication.
Дополнительные сведения об интерфейсе SR-IOV см. в статье Обзор виртуализации однокорневого ввода-вывода (SR-IOV).
Взаимодействие с драйвером виртуальной шины
Если независимый поставщик оборудования (IHV) предоставляет драйвер виртуальной шины (VBD) в составе пакета драйверов SR-IOV, его драйвер miniport не должен вызывать NdisMSetVirtualFunctionBusData. Вместо этого драйвер должен выполнять интерфейс с VBD через частный канал связи и запрашивать вызов SetVirtualFunctionData из VBD. Эта функция предоставляется из интерфейса GUID_PCI_VIRTUALIZATION_INTERFACE , поддерживаемого базовым драйвером шины PCI.VBD, работающий в операционной системе управления родительского раздела Hyper-V, может запрашивать интерфейс GUID_PCI_VIRTUALIZATION_INTERFACE , отправляя IRP_MN_QUERY_INTERFACE запрос к объекту физического устройства (PDO) на шине PCI. Этот запрос должен быть выполнен из IRQL = PASSIVE_LEVEL. В этом запросе драйвер должен задать для параметра InterfaceType значение GUID_PCI_VIRTUALIZATION_INTERFACE.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Не поддерживается, поддерживается в NDIS 6.30 и более поздних версиях. |
Минимальная версия сервера | Windows Server 2012 |
Целевая платформа | Универсальное |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
См. также раздел
GUID_PCI_VIRTUALIZATION_INTERFACE