OID_SRIOV_BAR_RESOURCES

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

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

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

  • Структура NDIS_SRIOV_BAR_RESOURCES_INFO, указывающая VF и BAR, для которых драйвер мини-порта PF возвращает сведения о ресурсах.

  • Структура CM_PARTIAL_RESOURCE_DESCRIPTOR, которая следует NDIS_SRIOV_BAR_RESOURCES_INFO структуре. Структура CM_PARTIAL_RESOURCE_DESCRIPTOR содержит сведения о ресурсах памяти, выделенных для указанной ПАНЕЛИ.

Замечания

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, драйвер возвращает ресурсы для указанной панели, отформатируя структуру CM_PARTIAL_RESOURCE_DESCRIPTOR в InformationBuffer члена структуры NDIS_OID_REQUEST. Драйвер форматирует структуру CM_PARTIAL_RESOURCE_DESCRIPTOR с системными аппаратными ресурсами, связанными с bar для указанной виртуальной машины.

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

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

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

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

NDIS_STATUS_SUCCESS

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

NDIS_STATUS_NOT_SUPPORTED

Драйвер мини-порта PF либо не поддерживает интерфейс виртуализации одно корневых операций ввода-вывода (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 (include Ndis.h)

См. также


CM_PARTIAL_RESOURCE_DESCRIPTOR

NDIS_OID_REQUEST

NDIS_SRIOV_BAR_RESOURCES_INFO