Freigeben über


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)