Freigeben über


MmProbeAndLockSelectedPages-Funktion (wdm.h)

Die MmProbeAndLockSelectedPages-Routine testet die ausgewählten virtuellen Speicherseiten, macht sie resident und sperrt sie im Arbeitsspeicher.

Syntax

void MmProbeAndLockSelectedPages(
  [in, out] PMDL                  MemoryDescriptorList,
  [in]      PFILE_SEGMENT_ELEMENT SegmentArray,
  [in]      KPROCESSOR_MODE       AccessMode,
  [in]      LOCK_OPERATION        Operation
);

Parameter

[in, out] MemoryDescriptorList

Ein Zeiger auf eine Speicherdeskriptorliste (Memory Descriptor List, MDL), die einen virtuellen Speicherpuffer angibt. Wenn die Routine die Seiten im Arbeitsspeicher erfolgreich sperrt, wird die MDL aktualisiert, um die zugrunde liegenden physischen Seiten zu beschreiben.

[in] SegmentArray

Ein Zeiger auf ein Array von Puffersegmenten, die die seiten des virtuellen Arbeitsspeichers enthalten.

[in] AccessMode

Gibt den Zugriffsmodus an, in dem die Argumente (KernelMode oder UserMode) untersucht werden sollen.

[in] Operation

Gibt den Vorgangstyp an, für den der Aufrufer die Zugriffsrechte überprüfen und die Seiten sperren möchte. Legen Sie diesen Parameter auf IoReadAccess, IoWriteAccess oder IoModifyAccess fest. IoReadAccess gibt an, dass der Treiber den Inhalt des Puffers untersuchen kann, den Inhalt jedoch nicht ändern kann. IoWriteAccess und IoModifyAccess, die gleichwertig sind, geben an, dass der Treiber sowohl Lese- als auch Schreibzugriff auf den Puffer hat.

Rückgabewert

Keine

Bemerkungen

Aufrufe von MmProbeAndLockSelectedPages müssen in einen try/except-Block eingeschlossen werden. Wenn die Seiten den angegebenen Vorgang nicht unterstützen, löst die Routine die STATUS_ACCESS_VIOLATION oder andere Ausnahmen aus. Weitere Informationen finden Sie unter Behandeln von Ausnahmen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h
IRQL <= APC_LEVEL

Weitere Informationen

MmProbeAndLockPages