FsRtlSplitLargeMcb function (ntifs.h)

The FsRtlSplitLargeMcb routine inserts a hole into the mappings in a map control block (MCB).

Syntax

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

Parameters

[in] Mcb

Pointer to the MCB structure.

[in] Vbn

Starting virtual block number (VBN) of the range of mappings to be shifted upward by Amount to make room for the hole.

[in] Amount

Number of sectors (VBNs) in the hole to be created.

Return value

FsRtlSplitLargeMcb returns TRUE if the hole was successfully created, FALSE otherwise.

Remarks

A hole is a range of unmapped VBNs that form a gap between two mappings.

If a pool allocation failure occurs, FsRtlSplitLargeMcb raises a STATUS_INSUFFICIENT_RESOURCES exception. To gain control if this pool allocation failure occurs, the driver should wrap the call to FsRtlSplitLargeMcb 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

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb