Freigeben über


FsRtlSplitLargeMcb-Funktion (ntifs.h)

Die FsRtlSplitLargeMcb-Routine fügt ein Loch in die Zuordnungen in einem Map Control Block (MCB) ein.

Syntax

BOOLEAN FsRtlSplitLargeMcb(
  [in] PLARGE_MCB Mcb,
  [in] LONGLONG   Vbn,
  [in] LONGLONG   Amount
);

Parameter

[in] Mcb

Zeiger auf die MCB-Struktur.

[in] Vbn

Start der virtuellen Blocknummer (VBN) des Zuordnungsbereichs, der von Amount nach oben verschoben werden soll, um Platz für das Loch zu schaffen.

[in] Amount

Anzahl der Sektoren (VBNs) im zu erstellenden Loch.

Rückgabewert

FsRtlSplitLargeMcb gibt TRUE zurück, wenn die Lücke erfolgreich erstellt wurde, andernfalls FALSE .

Hinweise

Ein Loch ist ein Bereich von nicht zugeordneten VBNs, die eine Lücke zwischen zwei Zuordnungen bilden.

Wenn ein Poolzuordnungsfehler auftritt, löst FsRtlSplitLargeMcb eine STATUS_INSUFFICIENT_RESOURCES Ausnahme aus. Um die Kontrolle zu erhalten, wenn dieser Poolzuordnungsfehler auftritt, sollte der Treiber den Aufruf von FsRtlSplitLargeMcb 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

FsRtlRemoveLargeMcbEntry

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb