Функция NdisMReadConfigBlock (ndis.h)
Драйвер мини-порта для виртуальной функции PCI Express (PCIe) вызывает функцию NdisMReadConfigBlock для чтения данных из блока конфигурации VF. Операции чтения для блока конфигурации VF обрабатываются драйвером мини-порта физической функции PCIe сетевого адаптера (PF).
Синтаксис
NDIS_STATUS NdisMReadConfigBlock(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] ULONG BlockId,
[out] PVOID Buffer,
[in] ULONG Length
);
Параметры
[in] NdisMiniportHandle
Сетевой адаптер обрабатывает данные NDIS, переданные параметру MiniportAdapterHandleобъекта MiniportInitializeEx.
[in] BlockId
Значение ULONG, указывающее идентификатор считываемого блока конфигурации VF. Этот идентификатор является собственностью независимого поставщика оборудования (IHV) и используется только драйверами мини-портов PF и VF.
[out] Buffer
Указатель на буфер, выделенный вызывающим объектом, который будет содержать запрошенные данные конфигурации.
[in] Length
Число байтов, считываемых из блока конфигурации VF.
Возвращаемое значение
NdisMReadConfigBlock может возвращать одно из следующих значений состояния:
Код возврата | Описание |
---|---|
|
Операция запроса успешно завершена. |
|
Сбой операции запроса. |
Комментарии
Драйвер мини-порта VF вызывает NdisMReadConfigBlock , чтобы инициировать обратный запрос на чтение данных конфигурации VF драйвером мини-порта PF. После уведомления об этом запросе драйвер PF возвращает данные из указанного блока конфигурации VF.
Блок конфигурации VF используется для обмена данными между PF и драйверами мини-портов VF. IHV может определить один или несколько блоков конфигурации VF для устройства. Каждый блок конфигурации VF имеет определенный IHV формат, длину и идентификатор блока.
Дополнительные сведения об интерфейсе SR-IOV см. в статье Обзор виртуализации однокорневого ввода-вывода (SR-IOV).
Взаимодействие с драйвером виртуальной шины
Если независимый поставщик оборудования (IHV) предоставляет драйвер виртуальной шины (VBD) в составе пакета драйверов SR-IOV, драйвер мини-порта не должен вызывать NdisMReadConfigBlock. Вместо этого драйвер должен выполнять интерфейс с VBD через частный канал связи и запрашивать вызов readVfConfigBlock для VBD. Эта функция предоставляется из интерфейса GUID_VPCI_INTERFACE_STANDARD , поддерживаемого базовым драйвером виртуальной шины PCI (VPCI).VBD, работающий в гостевой операционной системе дочернего раздела Hyper-V, может запрашивать интерфейс GUID_VPCI_INTERFACE_STANDARD , отправляя IRP_MN_QUERY_INTERFACE запрос к объекту физического устройства (PDO) на шине VPCI. Этот запрос должен быть выполнен из IRQL = PASSIVE_LEVEL. В этом запросе драйвер должен задать для параметра InterfaceType значение GUID_VPCI_INTERFACE_STANDARD.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.30 и более поздних версиях. |
Целевая платформа | Универсальное |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | <= APC_LEVEL |
См. также раздел