FsRtlInitializeLargeMcb function (ntifs.h)

The FsRtlInitializeLargeMcb routine initializes a map control block (MCB) structure.

Syntax

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

Parameters

Mcb

Pointer to a caller-allocated MCB structure to initialize.

[in] PoolType

Type of pool to use when allocating additional internal storage for the MCB. One of the following:

  • NonPagedPool
  • PagedPool
  • NonPagedPoolCacheAligned
  • PagedPoolCacheAligned

The NonPagedPoolMustSucceed and NonPagedPoolCacheAlignedMustS pool types are obsolete and should no longer be used.

Return value

None

Remarks

FsRtlInitializeLargeMcb initializes a map control block (MCB) structure. File systems use MCB structures to map virtual block numbers (VBN) for a file to the corresponding logical block numbers (LBN) on disk.

The upper 32 bits of the LBN are ignored. Only the lower 32 bits are used.

File systems must call FsRtlInitializeLargeMcb before using any other FsRtlXxxMcbYyy routines on the MCB structure.

If a pool allocation failure occurs, FsRtlInitializeLargeMcb raises a STATUS_INSUFFICIENT_RESOURCES exception. To gain control if this pool allocation failure occurs, the driver should wrap the call to FsRtlInitializeLargeMcb in a try-except or try-finally statement.

Requirements

Requirement Value
Target Platform Universal
Header ntifs.h (include Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

See also

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb