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 |