Definindo os parâmetros de um comutador NIC
Um driver de sobreposição pode alterar os parâmetros de um comutador NIC que foi criado em um adaptador de rede que dá suporte à SR-IOV (virtualização de E/S de raiz única). O driver emite uma solicitação de conjunto de OID (identificador de objeto) de OID_NIC_SWITCH_PARAMETERS para alterar esses parâmetros. Somente o driver de miniporta para a PF (Função Física) PCI Express (PCIe) do adaptador SR-IOV manipula essa solicitação de conjunto de OID.
Antes que o driver sobreposto emita essa solicitação de conjunto de OID, ele deve inicializar uma estrutura NDIS_NIC_SWITCH_PARAMETERS com os parâmetros a serem alterados na opção NIC. Em seguida, o driver inicializa uma estrutura NDIS_OID_REQUEST para a solicitação OID e define o membro InformationBuffer como um ponteiro da estrutura NDIS_NIC_SWITCH_PARAMETERS .
Somente um subconjunto limitado de parâmetros de configuração para uma opção NIC pode ser alterado. O driver de sobreposição especifica o parâmetro a ser alterado definindo os seguintes membros da estrutura NDIS_NIC_SWITCH_PARAMETERS :
O membro SwitchId é definido como o identificador da opção NIC cujos parâmetros serão alterados.
Nota Começando com 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. O membro SwitchId deve ser definido como NDIS_DEFAULT_SWITCH_ID.
Os sinalizadores NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED apropriados são definidos no membro Flags . Os membros da estrutura NDIS_NIC_SWITCH_PARAMETERS só poderão ser alterados se um sinalizador NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED correspondente for definido em Ntddndis.h.
Os membros da estrutura NDIS_NIC_SWITCH_PARAMETERS , que correspondem aos sinalizadores NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED definidos no membro Flags , são definidos com os parâmetros de configuração do comutador NIC que devem ser alterados.
Nota Começando com Windows Server 2012, somente o membro SwitchName da estrutura NDIS_NIC_SWITCH_PARAMETERS pode ser alterado por meio de uma solicitação de conjunto OID de OID_NIC_SWITCH_PARAMETERS.
O driver de miniporta PF deve seguir estas diretrizes quando receber a solicitação de conjunto de OID de OID_NIC_SWITCH_PARAMETERS
Se o driver de miniporto PF puder aplicar as alterações sem exigir uma reinicialização do adaptador de rede, o driver aplicará as alterações no hardware e concluirá a solicitação OID com NDIS_STATUS_SUCCESS.
Se esse código status for retornado, o NDIS atualizará as informações de configuração da opção NIC no registro.
Se o driver de miniporto PF exigir uma reinicialização do adaptador de rede para aplicar as alterações, o driver concluirá a solicitação OID com NDIS_STATUS_REINIT_REQUIRED.
Se esse código status for retornado, o NDIS também atualizará as informações de configuração da opção NIC no registro. No entanto, o driver sobreposto que emitiu a solicitação de conjunto de OID deve reinicializar o adaptador de rede para que as alterações possam entrar em vigor.
Nota Os drivers de miniporto PF que dão suporte à criação e à configuração de NIC estáticos podem retornar NDIS_STATUS_REINIT_REQUIRED para garantir que o adaptador seja reinicializado para que os novos parâmetros entrem em vigor.
Se o driver de miniporto PF não puder aplicar as alterações solicitadas no OID, ele deverá falhar no OID e retornar o código NDIS_STATUS_Xxx apropriado.
Nesse caso, o NDIS não atualiza as informações de configuração da opção NIC no registro.