Définition de l’état d’alimentation d’une fonction virtuelle
Un pilote qui se superpose émet une demande de jeu d’identificateur d’objet (OID) de OID_SRIOV_SET_VF_POWER_STATE pour modifier l’état d’alimentation d’une fonction virtuelle PCI Express (PCIe) spécifiée sur la carte réseau. Étant donné que la modification de l’état d’alimentation est une opération privilégiée, les pilotes trop élevés émettent cette demande de définition OID au pilote miniport de la fonction physique PCIe (PF) sur la carte réseau. Le pilote pf miniport définit ensuite l’état d’alimentation spécifié sur la VF.
Par exemple, la pile de virtualisation gère l’état d’alimentation de la partition enfant Hyper-V qui est attachée à la machine virtuelle virtuelle. La pile modifie l’état d’alimentation en émettant le OID_SRIOV_SET_VF_POWER_STATE au pilote pf miniport.
Avant d’effectuer la demande de jeu d’OID de OID_SRIOV_SET_VF_POWER_STATE, le pilote de sur-superposition doit définir les membres de NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS structure de la manière suivante :
Le membre VFId doit être défini sur l’identificateur de la VF à partir de laquelle les informations doivent être lues.
Le membre PowerState doit être défini sur l’état d’alimentation vers lequel la VF doit effectuer la transition.
Si son signal WAKE# (sur le bus PCI Express) ou PME# (sur le bus PCI) de la carte réseau doit être déclaré lorsqu’il passe à l’état de faible consommation, le membre WakeEnable doit être défini sur TRUE. Sinon, ce membre doit être défini sur FALSE.
Lorsque le pilote pf miniport est émis cette demande de jeu d’OID, il doit suivre les instructions suivantes :
Le pilote pf miniport doit vérifier que le VF, spécifié par le membre VFId de la structure NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS , dispose de ressources qui ont été précédemment allouées. Le pilote miniport PF alloue des ressources pour une machine virtuelle lors d’une demande de méthode OID de OID_NIC_SWITCH_ALLOCATE_VF. Si la VF spécifiée n’est pas dans un état alloué, le pilote doit échouer à la requête OID.
L’opération d’état d’alimentation doit uniquement affecter la VF spécifiée. L’opération ne doit pas affecter d’autres machines virtuelles ou pf sur la même carte réseau.