Partager via


Fonction MmPrefetchPages (ntifs.h)

La routine MmPrefetchPages lit les groupes de pages du stockage secondaire de manière optimale.

Syntaxe

NTSTATUS MmPrefetchPages(
  [in] ULONG      NumberOfLists,
  [in] PREAD_LIST *ReadLists
);

Paramètres

[in] NumberOfLists

Nombre de listes de lecture dans le tableau transmis dans le paramètre ReadLists .

[in] ReadLists

Pointeur vers un tableau de listes de lecture à prédécupérer.

Valeur retournée

MmPrefetchPages retourne STATUS_SUCCESS ou une erreur appropriée status représentant la status d’achèvement finale de l’opération. Les codes de status d’erreur possibles incluent les éléments suivants :

Code de retour Description
STATUS_INSUFFICIENT_RESOURCES Une mémoire tampon temporaire requise par cette fonction n’a pas pu être allouée.
STATUS_INVALID_PARAMETER_1 Une section dans ReadLists n’est pas préexécable (par exemple, une section physique ou un fichier de page), ou une valeur NumberOfLists non valide a été fournie.

MmPrefetchPages retourne STATUS_SUCCESS en cas de réussite et également si toutes les pages demandées étaient déjà en mémoire, indiquant qu’aucune lecture du stockage secondaire n’était requise.

Remarques

MmPrefetchPages lit les pages du stockage secondaire décrit dans les listes de lecture de manière optimale. L’appelant génère une liste de différents objets de fichiers et décalages de blocs logiques, en les transmettant à la fonction MmPrefetchPages qui examine les pages internes, en lisant celles qui ne sont pas déjà valides ou en transition. Les pages sont lues avec une seule lecture, à l’aide d’une page factice pour combler de petits écarts. Si l’écart est « important », des lectures distinctes sont émises.

Notes

L’objet section doit déjà exister pour que le fichier soit prérécupéré. Vous pouvez obtenir un handle de section en appelant ZwCreateSection.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport),PowerIrpDDis(wdm)