The FsRtlAddLargeMcbEntry routine adds a new mapping to an existing map control block (MCB).
BOOLEAN FsRtlAddLargeMcbEntry( _In_ PLARGE_MCB OpaqueMcb, _In_ LONGLONG LargeVbn, _In_ LONGLONG LargeLbn, _In_ LONGLONG LargeSectorCount );
- OpaqueMcb [in]
Pointer to an initialized MCB structure.
- LargeVbn [in]
Starting virtual block number (VBN) of the new mapping run to be added to the MCB.
- LargeLbn [in]
Logical block number (LBN) to which LargeVbn is to be mapped.
- LargeSectorCount [in]
Number of sectors in the new mapping run.
FsRtlAddLargeMcbEntry returns TRUE if the new mapping was successfully added to the MCB, FALSE otherwise.
FsRtlAddLargeMcbEntry adds a new mapping to an existing map control block (MCB). File systems use MCB structures to map virtual block numbers (VBN) for a file to the corresponding logical block numbers (LBN) on disk.
If a new mapping run to be added overlaps an existing mapping run, FsRtlAddLargeMcbEntry merges them into a single mapping run.
If a pool allocation failure occurs, FsRtlAddLargeMcbEntry raises a STATUS_INSUFFICIENT_RESOURCES exception. To gain control if this pool allocation failure occurs, the driver should wrap the call to FsRtlAddLargeMcbEntry in a try-except or try-finally statement.