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.
Um driver sobreposto emite uma solicitação de conjunto de identificador de objeto (OID) de OID_SRIOV_WRITE_VF_CONFIG_BLOCK para gravar dados em um bloco de configuração PCI Express (PCIe) Virtual Function (VF).
Drivers sobrepostos emitem essa solicitação de conjunto 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 alocado pelo chamador. Esse buffer é formatado para conter o seguinte:
Uma estrutura NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS que contém o deslocamento, em unidades de bytes, desde o início dessa estrutura até um local dentro do buffer que contém os dados gravados no bloco de configuração VF.
Espaço de buffer adicional para os dados a serem gravados no bloco de configuração VF especificado.
Comentários
Um bloco de configuração VF é usado para comunicação backchannel entre os drivers de miniporta PF e VF. O IHV pode definir um ou mais blocos de configuração VF para os drivers de miniporta. Cada bloco de configuração VF tem um formato, comprimento e ID de bloco definidos por IHV.
Nota Os dados de cada bloco de configuração VF são usados apenas pelos drivers de miniporta PF e VF.
Antes de emitir a solicitação de conjunto OID de OID_SRIOV_WRITE_VF_CONFIG_BLOCK, o driver sobrejacente deve definir os membros de NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS estrutura da seguinte maneira:
Defina o membro VFId para o identificador do VF para o qual as informações devem ser gravadas.
Defina o membro BlockId para o identificador do bloco de configuração a partir do qual as informações devem ser gravadas.
Defina o membro Length para o número de bytes a serem gravados no bloco de configuração VF.
Defina o membro BufferOffset para o deslocamento dentro do buffer (referenciado por membro do InformationBuffer) que contém os dados a serem gravados a partir do bloco de configuração VF especificado. Esse deslocamento é especificado em unidades de bytes desde o início da estrutura NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS.
Quando ele lida com a solicitação de conjunto OID de OID_SRIOV_WRITE_VF_CONFIG_BLOCK, o driver de miniporta PF deve seguir estas diretrizes:
O driver de miniporta PF deve verificar se o VF, especificado pelo VFId membro da estrutura NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS, tem recursos que foram alocados anteriormente. O driver de miniporta PF aloca recursos para um VF durante uma solicitação de método OID de OID_NIC_SWITCH_ALLOCATE_VF. Se os recursos para o VF especificado não foram alocados, o driver deve falhar a solicitação OID.
O driver de miniporta PF deve verificar se o BlockId membro da estrutura NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS especifica um bloco de configuração VF válido. Se não, o driver deve falhar a solicitação OID.
Para obter mais informações sobre a comunicação backchannel dentro da interface de virtualização de E/S de raiz única (SR-IOV), consulte SR-IOVde comunicação de backchannel PF/VF.
Códigos de status de retorno
O driver de miniporta retorna um dos seguintes códigos de status para a solicitação de conjunto OID de OID_SRIOV_WRITE_VF_CONFIG_BLOCK:
| 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 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_WRITE_VF_CONFIG_BLOCK_PARAMETERS têm valores inválidos. |
NDIS_STATUS_INVALID_LENGTH |
O buffer de informações era muito curto. O NDIS define os DADOS. SET_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) |