Partager via


DXGKDDI_GETMMIORANGES fonction de rappel (dispmprt.h)

Obtenez les plages de mémoire d’un SEUL MMIO (sortie d’entrée mappée en mémoire) BAR (registre d’adresses de base) dans l’appareil virtuel.

Syntaxe

DXGKDDI_GETMMIORANGES DxgkddiGetmmioranges;

NTSTATUS DxgkddiGetmmioranges(
  HANDLE Context,
  PDXGKARG_GETMMIORANGES pArgs
)
{...}

Paramètres

Context

Handle pour le contexte de l’appareil.

pArgs

Pointeur vers une structure DXGKARG_GETMMIORANGES .

Valeur retournée

Retourne les informations suivantes :

  • STATUS_SUCCESS Le système IHV n’a rencontré aucune erreur.
  • STATUS_INVALID_DEVICE_REQUEST L’appareil virtuel a rencontré une erreur et doit être arrêté de force. L’échec ici entraîne une défaillance de l’appareil virtuel.
  • BUFFER_TO_SMALL peut entraîner l’appel de cette opération avec une mémoire tampon plus grande.

Remarques

Cette fonction de rappel obtient les plages spécifiques sur lesquelles les interceptions et le mappage doivent être placés. Il s’agit d’un mappage de nuages de points/regroupements plus flexible des fichiers BAR que la solution SR-IOV (virtualisation d’entrée/sortie à racine unique) qui permet aux barres d’adresses de base VF (fonction virtuelle) d’avoir une taille différente de celle des barres physiques et de mapper/émuler n’importe quel ordre de pages de n’importe quelle barre physique vers n’importe quelle barre virtuelle. Cette fonction DOIT contenir un mappage pour chaque page de la barre virtuelle. Si ce n’est pas le cas, la création de l’appareil échoue.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1809
En-tête dispmprt.h
IRQL PASSIVE_LEVEL