Функция NdisMGetVirtualFunctionBusData (ndis.h)
Минипорт-драйвер вызывает функцию NdisMGetVirtualFunctionBusData для чтения данных из пространства конфигурации PCI Express (PCIe) указанной виртуальной функции (VF) на сетевом адаптере.
Синтаксис
ULONG NdisMGetVirtualFunctionBusData(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[out] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
Параметры
[in] NdisMiniportHandle
Сетевой адаптер обрабатывает, который NDIS передается в параметр MiniportAdapterHandleMiniportInitializeEx.
[in] VFId
Идентификатор VF, из которого возвращаются данные из пространства конфигурации PCI.
[out] Buffer
Указатель на буфер, получающий данные, считываемые из пространства конфигурации PCI VF.
[in] Offset
Смещение в единицах байтов в пространстве конфигурации PCI VF, из которого считываются данные.
[in] Length
Длина (в единицах байтов) данных для чтения.
Возвращаемое значение
NdisMGetVirtualFunctionBusData возвращает количество байтов, считываемых из пространства конфигурации PCI. Если операция чтения завершается ошибкой, NdisMGetVirtualFunctionBusData возвращает ноль.
Замечания
Драйвер мини-порта PF обычно вызывает NdisMGetVirtualFunctionBusData при обработке запроса метода OID OID_SRIOV_READ_VF_CONFIG_SPACE.
Однако драйвер может вызывать эту функцию в любое время после включения виртуализации на сетевом адаптере через вызов NdisMEnableVirtualization.
Дополнительные сведения о том, как запрашивать пространство конфигурации PCI VF, см. в статье запрос пространства конфигурации PCI для виртуальной функции.
Дополнительные сведения об интерфейсе SR-IOV см. в обзоре виртуализации одно корневых операций ввода-вывода (SR-IOV).
взаимодействие с водителем виртуальной шины
Если независимый поставщик оборудования (IHV) предоставляет драйвер виртуальной шины (VBD) в рамках пакета драйвера SR-IOV , его минипорт-драйвер не должен вызывать NdisMGetVirtualFunctionBusData. Вместо этого драйвер должен интерфейс с VBD через частный канал связи и запросить вызов VBD GetVirtualFunctionData. Эта функция предоставляется из интерфейса 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 (include Ndis.h) |
библиотеки | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
См. также