Enumerando comutadores NIC em um adaptador de rede
Um driver ou aplicativo de usuário em excesso pode obter uma lista de todos os comutadores NIC que foram criados 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 consulta OID (identificador de objeto) de OID_NIC_SWITCH_ENUM_SWITCHES para obter essa lista.
Após um retorno bem-sucedido dessa solicitação OID, o membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para um buffer que contém o seguinte:
Uma estrutura NDIS_NIC_SWITCH_INFO_ARRAY que define o número de elementos dentro da matriz.
Uma matriz de estruturas de NDIS_NIC_SWITCH_INFO . Cada uma dessas estruturas contém as informações sobre um único comutador NIC criado no adaptador de rede.
Nota Se o adaptador de rede não tiver comutadores NIC, o driver definirá o membro NumElements da estrutura NDIS_NIC_SWITCH_INFO_ARRAY como zero e nenhuma estrutura NDIS_NIC_SWITCH_INFO será retornada.
Nota A partir do Windows Server 2012, a interface SR-IOV dá suporte a apenas uma opção NIC no adaptador de rede. Essa opção é conhecida como a opção NIC padrão e é referenciada pelo identificador NDIS_DEFAULT_SWITCH_ID.
O NDIS manipula a solicitação de OID_NIC_SWITCH_ENUM_SWITCHES para drivers de miniport. O NDIS retorna as informações de um cache interno dos dados que mantém das seguintes fontes:
As configurações de palavra-chave SR-IOV padronizadas no registro. Para obter mais informações sobre essas palavras-chave, consulte Palavras-chave INF padronizadas para SR-IOV.
Solicitações de OID de OID_NIC_SWITCH_CREATE_SWITCH e OID_NIC_SWITCH_PARAMETERS.
Nota O NDIS também fornece a enumeração dos comutadores no membro NicSwitchArray nas estruturas NDIS_BIND_PARAMETERS e NDIS_FILTER_ATTACH_PARAMETERS . Portanto, os drivers de protocolo e filtro sobressotores não precisam emitir OID_NIC_SWITCH_ENUM_SWITCHES solicitações para obter essas informações.