Share via


FsRtlRemoveLargeMcbEntry-Funktion (ntifs.h)

Die FsRtlRemoveLargeMcbEntry-Routine entfernt mindestens eine Zuordnung aus einem Map Control Block (MCB).

Syntax

void FsRtlRemoveLargeMcbEntry(
  PLARGE_MCB Mcb,
  LONGLONG   Vbn,
  LONGLONG   SectorCount
);

Parameter

Mcb

Zeiger auf die MCB-Struktur.

Vbn

Startnummer des virtuellen Blocks (VBN) des Bereichs, für den Zuordnungen aus dem MCB entfernt werden sollen.

SectorCount

Anzahl der Sektoren (VBNs) im Bereich, für den Zuordnungen entfernt werden sollen.

Rückgabewert

Keine

Bemerkungen

FsRtlRemoveLargeMcbEntry entfernt alle Zuordnungen von VBNs zu LBNs im MCB, die innerhalb des VBN-Bereichs liegen, der mit *LargeVbn beginnt und mit (*LargeVbn + LargeSectorCount - 1) endet.

Hinweis Die oberen 32 Bits des LBN werden ignoriert. Es werden nur die unteren 32 Bits verwendet.
 
Lücken (Lücken) zwischen Zuordnungen werden ignoriert.

Wenn der Bereich der zu entfernenden VBNs den höchsten zugeordneten VBN im MCB enthält, wird das PairCount-Element des MCB entsprechend angepasst.

Wenn ein Poolzuordnungsfehler auftritt, löst FsRtlRemoveLargeMcbEntry eine STATUS_INSUFFICIENT_RESOURCES Ausnahme aus. Um kontrolle zu erhalten, wenn dieser Poolzuordnungsfehler auftritt, sollte der Treiber den Aufruf von FsRtlRemoveLargeMcbEntry in einer try-except- oder try-finally-Anweisung umschließen.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Weitere Informationen

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb