Expand Minimize

FsRtlSplitLargeMcb routine

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

Mcb [in]

Pointer to the MCB structure.

Vbn [in]

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

Amount [in]

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

Header

Ntifs.h (include Ntifs.h)

Library

Ntoskrnl.lib

IRQL

<= APC_LEVEL

See also

FsRtlAddLargeMcbEntry
FsRtlGetNextLargeMcbEntry
FsRtlInitializeLargeMcb
FsRtlLookupLargeMcbEntry
FsRtlLookupLastLargeMcbEntry
FsRtlLookupLastLargeMcbEntryAndIndex
FsRtlNumberOfRunsInLargeMcb
FsRtlRemoveLargeMcbEntry
FsRtlTruncateLargeMcb
FsRtlUninitializeLargeMcb

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft