Consultar o fornecedor PCI e os identificadores de dispositivo para uma função virtual
Nota Esse método só pode ser usado por drivers overlying executados no sistema operacional de gerenciamento da partição pai do Hyper-V.
Um driver sobreposto emite uma solicitação de método OID (identificador de objeto) de OID_SRIOV_VF_VENDOR_DEVICE_ID para consultar o identificador de fornecedor PCI Express (PCIe) (VendorID) e o deviceID (DeviceID). Esses dados são lidos do espaço de configuração PCIe para a FUNÇÃO Virtual PCIe (VF) no adaptador de rede física.
Drivers sobrepostos emitem essa solicitação de método OID para o driver de miniporto da PF (Função Física) PCI Express (PCIe) do adaptador de rede. Essa solicitação de método OID é necessária para drivers de miniporto PF que dão suporte à interface sr-IOV (virtualização de E/S) raiz única.
O sistema operacional convidado, que é executado em uma partição filho do Hyper-V, usa o VendorID e o DeviceID do VF para IDs de Plug and Play genéricas (PnP) para enumeração de dispositivo. A partir do Windows Server 2012, o driver de miniporto PF pode fornecer o seguinte conjunto de identificadores para o adaptador de rede VF exposto na partição filho:
O VendorID e o DeviceID do adaptador de rede física. Isso permite que drivers compatíveis sejam carregados no sistema operacional convidado, que é executado na partição filho do Hyper-V e no sistema operacional de gerenciamento, que é executado na partição pai do Hyper-V.
Um VendorID e DeviceID que diferem dos identificadores do adaptador de rede física. Isso permite que um driver seja carregado no sistema operacional convidado mais apropriado para seu uso. Por exemplo, o driver de miniporto PF pode retornar um VendorID e DeviceID para um adaptador de rede VF para que um driver seja carregado que desabilite determinados conjuntos de recursos, como descarregamentos de tarefas de protocolo ou gerenciamento de energia.
Antes de emitir essa solicitação de método OID, o driver sobreposto deve inicializar uma estrutura NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO . O driver deve definir o membro VFId como o identificador do VF do qual as informações devem ser lidas.
Quando trata essa solicitação OID, o driver de miniporto PF deve verificar se o VF especificado tem recursos que foram alocados anteriormente. O driver de miniporto PF aloca recursos para um VF durante uma solicitação de método OID de OID_NIC_SWITCH_ALLOCATE_VF. Se os recursos do VF especificado não tiverem sido alocados, o driver deverá falhar na solicitação OID.