FsRtlInitializeLargeMcb-Funktion (ntifs.h)

Die FsRtlInitializeLargeMcb-Routine initialisiert eine MCB-Struktur (Map Control Block).

Syntax

void FsRtlInitializeLargeMcb(
       PLARGE_MCB Mcb,
  [in] POOL_TYPE  PoolType
);

Parameter

Mcb

Zeiger auf eine vom Aufrufer zugewiesene MCB-Struktur, die initialisiert werden soll.

[in] PoolType

Typ des Pools, der beim Zuweisen von zusätzlichem internen Speicher für den MCB verwendet werden soll. Einer der folgenden:

  • NonPagedPool
  • PagedPool
  • NonPagedPoolCacheAligned
  • PagedPoolCacheAligned

Die Pooltypen NonPagedPoolMustSucceed und NonPagedPoolCacheAlignedMustS sind veraltet und sollten nicht mehr verwendet werden.

Rückgabewert

Keine

Bemerkungen

FsRtlInitializeLargeMcb initialisiert eine MCB-Struktur (Map Control Block). Dateisysteme verwenden MCB-Strukturen, um virtuelle Blocknummern (VBN) für eine Datei den entsprechenden logischen Blocknummern (LOGICAL Block Numbers, LBN) auf dem Datenträger zuzuordnen.

Die oberen 32 Bits des LBN werden ignoriert. Es werden nur die unteren 32 Bits verwendet.

Dateisysteme müssen FsRtlInitializeLargeMcb aufrufen, bevor sie andere FsRtlXxxMcbYyyy-Routinen in der MCB-Struktur verwenden.

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

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb