MmPrefetchPages-Funktion (ntifs.h)
Die MmPrefetchPages Routine liest Seitengruppen aus sekundären Speicher optimal vor.
Syntax
NTSTATUS MmPrefetchPages(
[in] ULONG NumberOfLists,
[in] PREAD_LIST *ReadLists
);
Parameter
[in] NumberOfLists
Die Anzahl der Leselisten im Array, das in den ReadLists Parameter übergeben wird.
[in] ReadLists
Ein Zeiger auf ein Array von Leselisten, die vorab abgerufen werden sollen.
Rückgabewert
MmPrefetchPages gibt STATUS_SUCCESS oder einen geeigneten Fehlerstatus zurück, der den endgültigen Abschlussstatus des Vorgangs darstellt. Mögliche Fehlerstatuscodes sind:
Rückgabecode | Beschreibung |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Ein temporärer Puffer, der von dieser Funktion benötigt wird, konnte nicht zugeordnet werden. |
STATUS_INVALID_PARAMETER_1 | Ein Abschnitt in ReadLists- ist nicht vorab verfügbar (z. B. ein physischer oder pagefile-gesicherter Abschnitt) oder ein ungültiger NumberOfLists- Wert bereitgestellt wurde. |
MmPrefetchPages- gibt STATUS_SUCCESS erfolglos zurück und auch, wenn alle angeforderten Seiten bereits im Speicher waren, die angibt, dass keine Lesevorgänge aus dem sekundären Speicher erforderlich waren.
Bemerkungen
MmPrefetchPages Seiten aus sekundären Speicher liest, die in den Leselisten in optimaler Weise beschrieben werden. Der Aufrufer erstellt eine Liste mit verschiedenen Dateiobjekten und logischen Blockversatzen und übergibt sie an die MmPrefetchPages- Funktion, die die internen Seiten untersucht und in denen gelesen wird, die nicht bereits gültig oder im Übergang sind. Die Seiten werden mit einem einzelnen Lesevorgang gelesen, wobei eine Dummyseite verwendet wird, um kleine Lücken zu überbrücken. Wenn die Lücke "groß" ist, werden separate Lesevorgänge ausgegeben.
Anmerkung
Das Abschnittsobjekt muss bereits vorhanden sein, damit die Datei vorab abgerufen werden kann. Ein Abschnittshandle kann durch Aufrufen ZwCreateSectionabgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP |
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |