Expand Minimize

FsRtlResetLargeMcb routine

The FsRtlResetLargeMcb routine truncates a map control block (MCB) structure to contain zero mapping pairs. It does not shrink the mapping pairs array.

Syntax


VOID FsRtlResetLargeMcb(
  _In_  PLARGE_MCB Mcb,
  _In_  BOOLEAN    SelfSynchronized
);

Parameters

Mcb [in]

Pointer to the MCB structure to truncate.

SelfSynchronized [in]

Indicates whether the caller is already synchronized with respect to the MCB.

Return value

None

Remarks

FsRtlResetLargeMcb truncates 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 the caller is already synchronized (the SelfSynchronized parameter is set to TRUE), such that no other thread of operation can call an Mcb routine on this MCB during this call, then FsRtlResetLargeMcb just clears out the current mapping pair count. If the SelfSynchronized parameter is set to FALSE, then FsRtlResetLargeMcb will serialize access to the Mcb before clearing the pair count which requires more time.

Requirements

Target platform

Universal

Version

This routine is available on Microsoft Windows XP and later.

Header

Ntifs.h (include Ntifs.h)

Library

Ntoskrnl.lib

IRQL

<= APC_LEVEL

See also

FsRtlAddLargeMcbEntry
FsRtlGetNextLargeMcbEntry
FsRtlInitializeLargeMcb
FsRtlLookupLargeMcbEntry
FsRtlLookupLastLargeMcbEntry
FsRtlLookupLastLargeMcbEntryAndIndex
FsRtlNumberOfRunsInLargeMcb
FsRtlRemoveLargeMcbEntry
FsRtlSplitLargeMcb
FsRtlTruncateLargeMcb
FsRtlUninitializeLargeMcb

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft