Partilhar via


Enumerando funções virtuais em um adaptador de rede

Um driver ou aplicativo de usuário em excesso pode obter uma lista de todas as VFs (Funções Virtuais) PCI Express (PCIe) em um adaptador de rede que dá suporte à VIRTUALização de E/S de raiz única (SR-IOV). O driver ou aplicativo emite uma solicitação de método OID (identificador de objeto) de OID_NIC_SWITCH_ENUM_VFS para obter essa lista.

Antes que o driver ou aplicativo emita a solicitação OID, ele deve inicializar uma estrutura NDIS_NIC_SWITCH_VF_INFO_ARRAY que é passada junto com a solicitação. O driver ou aplicativo deve seguir estas diretrizes ao inicializar a estrutura NDIS_NIC_SWITCH_VF_INFO_ARRAY :

  • Se o sinalizador NDIS_NIC_SWITCH_VF_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH estiver definido no membro Flags , o driver ou aplicativo sobreposto deverá definir o membro SwitchId como o identificador de um comutador NIC no adaptador de rede SR-IOV. Ao definir esses membros dessa maneira, as informações de VF são retornadas somente para a opção NIC especificada no adaptador de rede SR-IOV.

    Nota O driver sobreposto e o aplicativo de modo de usuário podem obter os identificadores de comutador NIC emitindo uma solicitação de consulta OID de OID_NIC_SWITCH_ENUM_SWITCHES.

  • Se o membro Flags estiver definido como zero, o driver ou aplicativo deverá definir o membro SwitchId como zero. Ao definir esses membros dessa maneira, as informações de VF são retornadas para todos os comutadores NIC no adaptador de rede SR-IOV.

    Nota A partir do Windows Server 2012, o Windows dá suporte apenas ao comutador NIC padrão no adaptador de rede. Independentemente dos sinalizadores definidos no membro Flags , o membro SwitchId deve ser definido como NDIS_DEFAULT_SWITCH_ID.

Após um retorno bem-sucedido dessa solicitação de consulta OID, o membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para um buffer que contém o seguinte:

O NDIS lida com a solicitação de OID_NIC_SWITCH_ENUM_VFS para drivers de miniporta. O NDIS retorna as informações de um cache interno dos dados que ele mantém ao inspecionar as seguintes fontes: