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) |