Freigeben über


MmPrefetchPages-Funktion (ntifs.h)

Mit der MmPrefetchPages-Routine werden Seitengruppen aus dem sekundären Speicher optimal gelesen.

Syntax

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

Parameter

[in] NumberOfLists

Die Anzahl der Leselisten im Array, die im ReadLists-Parameter übergeben werden.

[in] ReadLists

Ein Zeiger auf ein Array von Leselisten, die vorab abgerufen werden sollen.

Rückgabewert

MmPrefetchPages gibt STATUS_SUCCESS oder einen entsprechenden Fehler zurück, status den endgültigen Abschluss status des Vorgangs darstellt. Mögliche Fehler status Codes sind:

Rückgabecode Beschreibung
STATUS_INSUFFICIENT_RESOURCES Ein temporärer Puffer, der für diese Funktion erforderlich ist, konnte nicht zugewiesen werden.
STATUS_INVALID_PARAMETER_1 Ein Abschnitt in ReadLists ist nicht vorzeitig verfügbar (z. B. ein physischer Abschnitt oder ein abschnitt, der mit einer Auslagerungsdatei gesichert ist), oder ein ungültiger NumberOfLists-Wert wurde bereitgestellt.

MmPrefetchPages gibt STATUS_SUCCESS zurück, wenn sich alle angeforderten Seiten bereits im Arbeitsspeicher befanden und keine Lesevorgänge aus dem sekundären Speicher erforderlich waren.

Hinweise

MmPrefetchPages liest Seiten aus dem sekundären Speicher, die in den Leselisten beschrieben sind, optimal. Der Aufrufer erstellt eine Liste mit verschiedenen Dateiobjekten und logischen Blockoffsets und übergibt sie an die MmPrefetchPages-Funktion , die die internen Seiten untersucht und diejenigen einliest, die nicht bereits gültig sind oder sich im Übergang befinden. Die Seiten werden mit einem einzelnen Lesevorgang gelesen, wobei eine Dummyseite verwendet wird, um kleine Lücken zu schließen. Wenn die Lücke "groß" ist, werden separate Lesevorgänge ausgegeben.

Hinweis

Das Section-Objekt muss bereits vorhanden sein, damit die Datei vorab abgerufen werden kann. Ein Abschnittshandle kann abgerufen werden, indem Sie ZwCreateSection aufrufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP
Zielplattform Universell
Header ntifs.h (include Ntifs.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)