Partager via


IOCTL_SRIOV_MITIGATED_RANGE_UPDATE IOCTL (pcivirt.h)

La requête IOCTL_SRIOV_MITIGATED_RANGE_UPDATE indique que la pile de virtualisation souhaite effectuer une mise à jour vers les plages d’atténuation.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

Pointeur vers une structure SRIOV_MITIGATED_RANGE_UPDATE_INPUT.

Longueur de la mémoire tampon d’entrée

Taille de la structure SRIOV_MITIGATED_RANGE_UPDATE_INPUT.

Bloc d’état

> IoStatus.Status est défini sur STATUS_SUCCESS si la requête réussit. Sinon, état à la condition d’erreur appropriée en tant que code NTSTATUS.

Remarques

Cette demande IOCTL est envoyée par la pile de virtualisation au pilote PCI Express SR-IOV Physical Function (PF) qui expose MITIGABLE_DEVICE_INTERFACE.

La pile utilise une MMU d’E/S pour différencier le trafic provenant des différentes interfaces exposées par l’appareil, en appliquant une stratégie sur les régions de mémoire auxquelles un appareil peut accéder et quelles interruptions il peut générer. Lorsque cette plage de mémoire est mise à jour, la pile envoie cette requête.

La fonction physique (pilote PF) conserve la requête IOCTL_SRIOV_MITIGATED_RANGE_UPDATE dans sa file d’attente jusqu’à ce que la demande soit annulée par la pile de virtualisation, soit que le pilote PF souhaite envoyer une demande au pilote de fonction virtuelle (VF) afin de mettre à jour les plages d’atténuation d’une VF particulière. Une fois la requête terminée, le pf termine la requête IOCTL_SRIOV_MITIGATED_RANGE_UPDATE. Une fois l’opération terminée, la pile de virtualisation réinitialise les mappages d’atténuation en envoyant IOCTL_SRIOV_QUERY_MITIGATED_RANGE_COUNT et IOCTL_SRIOV_QUERY_MITIGATED_RANGES demandes. La pile peut également appeler n’importe quelle simulation d’appareil en mode utilisateur pour des plages supplémentaires afin d’atténuer. La requête IOCTL_SRIOV_MITIGATED_RANGE_UPDATE est envoyée pour chaque fonction virtuelle active.

Exigences

Exigence Valeur
d’en-tête pcivirt.h
IRQL PASSIVE_LEVEL