Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O NDIS emite uma solicitação de método de identificador de objeto (OID) de OID_SRIOV_BAR_RESOURCES para determinar os recursos de memória que foram alocados para um Registro de Endereço Base (BAR) PCIe Express (PCIe) de uma Função Virtual PCIe (VF).
O NDIS emite essa solicitação de método OID para o driver de miniporta para a função física PCIe (PF) do adaptador de rede. Essa solicitação de método OID é necessária para drivers de miniporta PF que suportam a interface de virtualização de E/S de raiz única (SR-IOV).
O InformationBuffer membro da estrutura NDIS_OID_REQUEST contém um ponteiro para um buffer. Este buffer contém as seguintes estruturas:
Uma estrutura NDIS_SRIOV_BAR_RESOURCES_INFO que especifica o VF e o BAR para os quais o driver de miniporta PF retorna informações de recurso.
Uma estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR que segue a estrutura NDIS_SRIOV_BAR_RESOURCES_INFO. A estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR contém informações sobre os recursos de memória que foram alocados para a barra especificada.
Comentários
O NDIS emite uma solicitação de método OID de OID_SRIOV_BAR_RESOURCES para obter o endereço físico do sistema e o comprimento dos recursos de memória que foram alocados para uma barra VF. Antes de emitir a solicitação do método OID, o NDIS formata a estrutura NDIS_SRIOV_BAR_RESOURCES_INFO da seguinte maneira:
O NDIS define o VFId membro da estrutura NDIS_SRIOV_BAR_RESOURCES_INFO para o identificador associado ao VF.
O NDIS define o BarIndex membro da estrutura NDIS_SRIOV_BAR_RESOURCES_INFO para o índice BAR para o VF especificado. O índice BAR é o deslocamento do registro dentro da tabela de BARs no espaço de configuração PCI.
O NDIS define o BarResourcesOffset membro da estrutura NDIS_SRIOV_BAR_RESOURCES_INFO para o deslocamento, em unidades de bytes, desde o início da estrutura NDIS_SRIOV_BAR_RESOURCES_INFO até uma estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR.
Observação Drivers sobrepostos, como drivers de protocolo ou filtro, não podem emitir solicitações de método OID de OID_SRIOV_BAR_RESOURCES para o driver de miniporta PF.
Quando o driver de miniporta PF recebe a solicitação do método OID, o driver retorna os recursos para a barra especificada formatando a estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR dentro do InformationBuffer membro da estrutura NDIS_OID_REQUEST. O driver formata a estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR com os recursos de hardware do sistema associados à BAR para o VF especificado.
Observação O driver deve formatar a estrutura para um tipo de recurso de CmResourceTypeMemory.
Códigos de status de retorno
O driver de miniporta PF retorna um dos seguintes códigos de status para a solicitação de método de OID_SRIOV_BAR_RESOURCES.
| Código de status | Descrição |
|---|---|
NDIS_STATUS_SUCCESS |
A solicitação OID foi concluída com êxito. |
NDIS_STATUS_NOT_SUPPORTED |
O driver de miniporta PF não suporta a interface de virtualização de E/S de raiz única (SR-IOV) ou não está habilitado para usar a interface. |
NDIS_STATUS_INVALID_PARAMETER |
Um ou mais dos membros da estrutura NDIS_SRIOV_BAR_RESOURCES_INFO têm valores inválidos. |
NDIS_STATUS_INVALID_LENGTH |
O buffer de informações é menor que (sizeof(NDIS_SRIOV_BAR_RESOURCES_INFO) + sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR). O driver de miniporta PF deve definir o DATA. METHOD_INFORMATION. BytesNeeded membro na estrutura NDIS_OID_REQUEST para o tamanho mínimo de buffer necessário. |
NDIS_STATUS_FAILURE |
O pedido foi rejeitado por outros motivos. |
Requerimentos
Versão |
Suportado no NDIS 6.30 e posterior. |
Cabeçalho |
Ntddndis.h (inclui Ndis.h) |