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_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, драйвер возвращает ресурсы для указанной 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) |