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


OID_SRIOV_BAR_RESOURCES

NDIS отправляет запрос метода идентификатора объекта (OID) OID_SRIOV_BAR_RESOURCES, чтобы определить ресурсы памяти, выделенные для базового реестра адресов PCI Express (PCIe) виртуальной функции PCIe (VF).

NDIS отправляет этот запрос метода OID драйверу miniport для физической функции (PF) сетевого адаптера. Этот запрос метода OID требуется для драйверов минипорта PF, которые поддерживают интерфейс одно корневой виртуализации ввода-вывода (SR-IOV).

Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на буфер. Этот буфер содержит следующие структуры:

Комментарии

NDIS отправляет запрос метода OID OID_SRIOV_BAR_RESOURCES, чтобы получить физический адрес системы и длину ресурсов памяти, выделенных для панели VF. Перед выполнением запроса метода OID NDIS форматирует структуру NDIS_SRIOV_BAR_RESOURCES_INFO следующим образом:

  • NDIS задает для элемента VFId структуры NDIS_SRIOV_BAR_RESOURCES_INFO идентификатор, связанный с VF.

  • NDIS задает для элемента BarIndex структуры NDIS_SRIOV_BAR_RESOURCES_INFO индекс BAR для указанного VF. Индекс BAR — это смещение регистра в таблице BAR в пространстве конфигурации PCI.

  • NDIS задает для элемента BarResourcesOffset структуры NDIS_SRIOV_BAR_RESOURCES_INFO смещение в единицах байтов от начала структуры NDIS_SRIOV_BAR_RESOURCES_INFO до CM_PARTIAL_RESOURCE_DESCRIPTOR структуры.

Примечание Избыточные драйверы, такие как драйверы протоколов или фильтров, не могут выдавать запросы метода OID OID_SRIOV_BAR_RESOURCES драйверу минипорта PF.

Когда драйвер минипорта PF получает запрос метода OID, драйвер возвращает ресурсы для указанной bar путем форматирования структуры CM_PARTIAL_RESOURCE_DESCRIPTOR в элементе InformationBufferструктуры NDIS_OID_REQUEST . Драйвер форматирует структуру CM_PARTIAL_RESOURCE_DESCRIPTOR с использованием системных аппаратных ресурсов, связанных с bar для указанного VF.

Примечание Драйвер должен форматировать структуру для типа ресурса CmResourceTypeMemory.

Коды состояния возврата

Драйвер минипорта PF возвращает один из следующих кодов состояния для запроса метода OID_SRIOV_BAR_RESOURCES.

Код состояния Описание

NDIS_STATUS_SUCCESS

Запрос OID успешно завершен.

NDIS_STATUS_NOT_SUPPORTED

Драйвер минипорта PF либо не поддерживает интерфейс sr-IOV(SR-IOV), либо не поддерживает его использование.

NDIS_STATUS_INVALID_PARAMETER

Один или несколько членов структуры NDIS_SRIOV_BAR_RESOURCES_INFO имеют недопустимые значения.

NDIS_STATUS_INVALID_LENGTH

Буфер сведений меньше (sizeof(NDIS_SRIOV_BAR_RESOURCES_INFO) + sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR). Драйвер минипорта PF должен задать data. METHOD_INFORMATION. Элемент BytesNeeded в NDIS_OID_REQUEST структуру до минимального требуемого размера буфера.

NDIS_STATUS_FAILURE

Сбой запроса по другим причинам.

Требования

Версия

Поддерживается в NDIS 6.30 и более поздних версиях.

Заголовок

Ntddndis.h (включая Ndis.h)

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


CM_PARTIAL_RESOURCE_DESCRIPTOR

NDIS_OID_REQUEST

NDIS_SRIOV_BAR_RESOURCES_INFO