FsRtlInitializeLargeMcb routine

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

Syntax


VOID FsRtlInitializeLargeMcb(
  _In_ PLARGE_MCB OpaqueMcb,
  _In_ POOL_TYPE  PoolType
);

Parameters

OpaqueMcb [in]

Pointer to a caller-allocated MCB structure to initialize.

PoolType [in]

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

  • NonPagedPool
  • PagedPool
  • NonPagedPoolCacheAligned
  • PagedPoolCacheAligned
Note   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.

Note   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 FsRtl...Mcb... 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

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

 

 

Send comments about this topic to Microsoft

Show: