Consultando os parâmetros de uma função virtual
Um driver em excesso ou um aplicativo de modo de usuário pode obter os parâmetros atuais para uma VF (Função Virtual) 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_VF_PARAMETERS para obter esses parâmetros.
Antes que o driver sobreposto emita essa solicitação de método OID, ele deve inicializar uma estrutura NDIS_NIC_SWITCH_VF_PARAMETERS . O driver ou aplicativo deve definir o membro VFId como o identificador da VF para o qual os parâmetros devem ser retornados. O identificador VF pode ser obtido das seguintes maneiras:
Emitindo uma solicitação de método OID de OID_NIC_SWITCH_ENUM_VFS.
Se essa solicitação de OID for concluída com êxito, o driver sobreposto ou o aplicativo de modo de usuário receberá uma lista de todos os VFs alocados no adaptador de rede. Cada elemento dentro da lista é uma estrutura NDIS_NIC_SWITCH_VF_INFO , com o identificador VF especificado pelo membro VFId .
Emitindo uma solicitação de método OID de OID_NIC_SWITCH_ALLOCATE_VF.
Se essa solicitação OID for concluída com êxito, o driver sobreposto receberá o identificador do VF recém-criado no membro VFId da estrutura de NDIS_NIC_SWITCH_VF_PARAMETERS retornada.
Nota Somente os drivers overlying podem obter o identificador VF dessa maneira.
Após um retorno bem-sucedido da solicitação de método OID, o membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura de NDIS_NIC_SWITCH_VF_PARAMETERS . Essa estrutura contém os parâmetros de configuração para o VF especificado.
O NDIS manipula a solicitação de OID_NIC_SWITCH_VF_PARAMETERS para drivers de miniport. O NDIS retorna as informações de um cache interno dos dados que ele mantém ao inspecionar as seguintes fontes:
Solicitações de método OID de OID_NIC_SWITCH_ALLOCATE_VF.
OID define solicitações de OID_NIC_SWITCH_VF_PARAMETERS.