#include "FsRtlP.h"Go to the source code of this file.
Classes | |
| struct | _MAPPING |
| struct | _NONOPAQUE_MCB |
Defines | |
| #define | Dbg (0x80000000) |
| #define | UNUSED_LBN (-1) |
| #define | SizeOfMapping(MCB) ((sizeof(MAPPING) * (MCB)->MaximumPairCount)) |
| #define | PreviousEndingVbn(MCB, I) |
| #define | StartingVbn(MCB, I) |
| #define | EndingVbn(MCB, I) |
| #define | NextStartingVbn(MCB, I) |
| #define | PreviousEndingLbn(MCB, I) |
| #define | StartingLbn(MCB, I) |
| #define | EndingLbn(MCB, I) |
| #define | NextStartingLbn(MCB, I) |
| #define | SectorsWithinRun(MCB, I) |
| #define | MODULE_POOL_TAG ('mrSF') |
| #define | FsRtlAllocateFirstMapping() (PVOID)ExAllocateFromPagedLookasideList( &FsRtlFirstMappingLookasideList ) |
| #define | FsRtlFreeFirstMapping(Mapping) ExFreeToPagedLookasideList( &FsRtlFirstMappingLookasideList, (Mapping) ) |
| #define | FsRtlAllocateFastMutex() (PFAST_MUTEX)ExAllocateFromNPagedLookasideList( &FsRtlFastMutexLookasideList ) |
| #define | FsRtlFreeFastMutex(FastMutex) ExFreeToNPagedLookasideList( &FsRtlFastMutexLookasideList, (FastMutex) ) |
| #define | INITIAL_MAXIMUM_PAIR_COUNT (15) |
Typedefs | |
| typedef _MAPPING | MAPPING |
| typedef MAPPING * | PMAPPING |
| typedef _NONOPAQUE_MCB | NONOPAQUE_MCB |
| typedef NONOPAQUE_MCB * | PNONOPAQUE_MCB |
Functions | |
| VOID | FsRtlRemoveMcbEntryPrivate (IN PNONOPAQUE_MCB OpaqueMcb, IN ULONG Vbn, IN ULONG SectorCount) |
| BOOLEAN | FsRtlFindLargeIndex (IN PNONOPAQUE_MCB Mcb, IN VBN Vbn, OUT PULONG Index) |
| VOID | FsRtlAddLargeEntry (IN PNONOPAQUE_MCB Mcb, IN ULONG WhereToAddIndex, IN ULONG AmountToAdd) |
| VOID | FsRtlRemoveLargeEntry (IN PNONOPAQUE_MCB Mcb, IN ULONG WhereToRemoveIndex, IN ULONG AmountToRemove) |
| VOID | FsRtlInitializeMcb (IN PMCB Mcb, IN POOL_TYPE PoolType) |
| VOID | FsRtlUninitializeMcb (IN PMCB Mcb) |
| VOID | FsRtlTruncateMcb (IN PMCB Mcb, IN VBN Vbn) |
| BOOLEAN | FsRtlAddMcbEntry (IN PMCB Mcb, IN VBN Vbn, IN LBN Lbn, IN ULONG SectorCount) |
| VOID | FsRtlRemoveMcbEntry (IN PMCB OpaqueMcb, IN VBN Vbn, IN ULONG SectorCount) |
| BOOLEAN | FsRtlLookupMcbEntry (IN PMCB Mcb, IN VBN Vbn, OUT PLBN Lbn, OUT PULONG SectorCount OPTIONAL, OUT PULONG Index OPTIONAL) |
| BOOLEAN | FsRtlLookupLastMcbEntry (IN PMCB Mcb, OUT PVBN Vbn, OUT PLBN Lbn) |
| ULONG | FsRtlNumberOfRunsInMcb (IN PMCB Mcb) |
| BOOLEAN | FsRtlGetNextMcbEntry (IN PMCB Mcb, IN ULONG RunIndex, OUT PVBN Vbn, OUT PLBN Lbn, OUT PULONG SectorCount) |
| VOID | FsRtlInitializeLargeMcbs (VOID) |
| VOID | FsRtlInitializeLargeMcb (IN PLARGE_MCB OpaqueMcb, IN POOL_TYPE PoolType) |
| VOID | FsRtlUninitializeLargeMcb (IN PLARGE_MCB OpaqueMcb) |
| VOID | FsRtlTruncateLargeMcb (IN PLARGE_MCB OpaqueMcb, IN LONGLONG LargeVbn) |
| NTKERNELAPI VOID | FsRtlResetLargeMcb (IN PLARGE_MCB OpaqueMcb, IN BOOLEAN SelfSynchronized) |
| BOOLEAN | FsRtlAddLargeMcbEntry (IN PLARGE_MCB OpaqueMcb, IN LONGLONG LargeVbn, IN LONGLONG LargeLbn, IN LONGLONG LargeSectorCount) |
| VOID | FsRtlRemoveLargeMcbEntry (IN PLARGE_MCB OpaqueMcb, IN LONGLONG LargeVbn, IN LONGLONG LargeSectorCount) |
| BOOLEAN | FsRtlLookupLargeMcbEntry (IN PLARGE_MCB OpaqueMcb, IN LONGLONG LargeVbn, OUT PLONGLONG LargeLbn OPTIONAL, OUT PLONGLONG LargeSectorCount OPTIONAL, OUT PLONGLONG LargeStartingLbn OPTIONAL, OUT PLONGLONG LargeCountFromStartingLbn OPTIONAL, OUT PULONG Index OPTIONAL) |
| BOOLEAN | FsRtlLookupLastLargeMcbEntry (IN PLARGE_MCB OpaqueMcb, OUT PLONGLONG LargeVbn, OUT PLONGLONG LargeLbn) |
| BOOLEAN | FsRtlLookupLastLargeMcbEntryAndIndex (IN PLARGE_MCB OpaqueMcb, OUT PLONGLONG LargeVbn, OUT PLONGLONG LargeLbn, OUT PULONG Index) |
| ULONG | FsRtlNumberOfRunsInLargeMcb (IN PLARGE_MCB OpaqueMcb) |
| BOOLEAN | FsRtlGetNextLargeMcbEntry (IN PLARGE_MCB OpaqueMcb, IN ULONG RunIndex, OUT PLONGLONG LargeVbn, OUT PLONGLONG LargeLbn, OUT PLONGLONG LargeSectorCount) |
| BOOLEAN | FsRtlSplitLargeMcb (IN PLARGE_MCB OpaqueMcb, IN LONGLONG LargeVbn, IN LONGLONG LargeAmount) |
Variables | |
| PAGED_LOOKASIDE_LIST | FsRtlFirstMappingLookasideList |
| NPAGED_LOOKASIDE_LIST | FsRtlFastMutexLookasideList |
|
|
Definition at line 84 of file largemcb.c. |
|
|
Value:
Definition at line 214 of file largemcb.c. Referenced by FsRtlAddLargeMcbEntry(), FsRtlLookupLastLargeMcbEntry(), and FsRtlLookupLastLargeMcbEntryAndIndex(). |
|
|
Value: Definition at line 195 of file largemcb.c. Referenced by FsRtlAddLargeMcbEntry(), FsRtlFindLargeIndex(), FsRtlLookupLargeMcbEntry(), FsRtlLookupLastLargeMcbEntry(), FsRtlLookupLastLargeMcbEntryAndIndex(), and FsRtlRemoveMcbEntryPrivate(). |
|
|
Definition at line 295 of file largemcb.c. Referenced by FsRtlInitializeLargeMcb(). |
|
|
Definition at line 289 of file largemcb.c. Referenced by FsRtlInitializeLargeMcb(), and FsRtlTruncateLargeMcb(). |
|
|
Definition at line 298 of file largemcb.c. Referenced by FsRtlInitializeLargeMcb(), and FsRtlUninitializeLargeMcb(). |
|
|
Definition at line 292 of file largemcb.c. Referenced by FsRtlAddLargeEntry(), and FsRtlUninitializeLargeMcb(). |
|
|
Definition at line 313 of file largemcb.c. Referenced by FsRtlAddLargeEntry(), FsRtlInitializeLargeMcb(), FsRtlInitializeLargeMcbs(), FsRtlTruncateLargeMcb(), and FsRtlUninitializeLargeMcb(). |
|
|
Definition at line 251 of file largemcb.c. |
|
|
Value: Definition at line 222 of file largemcb.c. Referenced by FsRtlAddLargeMcbEntry(), and FsRtlRemoveMcbEntryPrivate(). |
|
|
Value: Definition at line 199 of file largemcb.c. Referenced by FsRtlAddLargeMcbEntry(), and FsRtlTruncateLargeMcb(). |
|
|
Value: Definition at line 206 of file largemcb.c. Referenced by FsRtlAddLargeMcbEntry(), FsRtlRemoveMcbEntryPrivate(), and FsRtlSplitLargeMcb(). |
|
|
Value: Definition at line 187 of file largemcb.c. Referenced by FsRtlAddLargeMcbEntry(). |
|
|
Value: Definition at line 242 of file largemcb.c. Referenced by FsRtlGetNextLargeMcbEntry(), and FsRtlRemoveMcbEntryPrivate(). |
|
|
Definition at line 170 of file largemcb.c. |
|
|
Value: Definition at line 210 of file largemcb.c. Referenced by FsRtlAddLargeMcbEntry(), FsRtlGetNextLargeMcbEntry(), FsRtlLookupLargeMcbEntry(), FsRtlRemoveMcbEntryPrivate(), FsRtlSplitLargeMcb(), and FsRtlTruncateLargeMcb(). |
|
|
Value: Definition at line 191 of file largemcb.c. Referenced by FsRtlAddLargeMcbEntry(), FsRtlFindLargeIndex(), FsRtlGetNextLargeMcbEntry(), FsRtlLookupLargeMcbEntry(), FsRtlRemoveMcbEntryPrivate(), and FsRtlSplitLargeMcb(). |
|
|
Definition at line 149 of file largemcb.c. Referenced by FsRtlAddLargeMcbEntry(), FsRtlGetNextLargeMcbEntry(), FsRtlLookupLargeMcbEntry(), FsRtlLookupLastLargeMcbEntry(), FsRtlLookupLastLargeMcbEntryAndIndex(), FsRtlRemoveMcbEntryPrivate(), FsRtlSplitLargeMcb(), and FsRtlTruncateLargeMcb(). |
|
|
Referenced by FsRtlAddLargeEntry(). |
|
|
|
|
|
Definition at line 155 of file largemcb.c. Referenced by FsRtlAddLargeEntry(), and FsRtlTruncateLargeMcb(). |
|
|
||||||||||||||||
|
Definition at line 2852 of file largemcb.c. References ExFreePool(), FsRtlFreeFirstMapping, FsRtlpAllocatePool, INITIAL_MAXIMUM_PAIR_COUNT, MAPPING, PAGED_CODE, PagedPool, and PMAPPING. Referenced by FsRtlAddLargeMcbEntry(), FsRtlRemoveMcbEntryPrivate(), and FsRtlSplitLargeMcb().
|
|
||||||||||||||||||||
|
Definition at line 977 of file largemcb.c. References ASSERT, ASSERTMSG, Dbg, DebugTrace, EndingLbn, EndingVbn, FALSE, _NONOPAQUE_MCB::FastMutex, FsRtlAddLargeEntry(), FsRtlFindLargeIndex(), FsRtlRemoveLargeEntry(), Index, LBN, _NONOPAQUE_MCB::Mapping, NextStartingLbn, NextStartingVbn, PAGED_CODE, _NONOPAQUE_MCB::PairCount, PNONOPAQUE_MCB, PreviousEndingLbn, PreviousEndingVbn, StartingLbn, StartingVbn, TRUE, try_return, UNUSED_LBN, and VBN. Referenced by FsRtlAddMcbEntry(), UdfInitializeAllocations(), UdfLoadSparingTables(), and UdfUpdateVcbPhase1().
|
|
||||||||||||||||||||
|
Definition at line 375 of file largemcb.c. References FsRtlAddLargeMcbEntry(), and PAGED_CODE. Referenced by UdfAddVmcbMapping().
|
|
||||||||||||||||
|
Definition at line 2748 of file largemcb.c. References EndingVbn, FALSE, Index, StartingVbn, and TRUE. Referenced by FsRtlAddLargeMcbEntry(), FsRtlLookupLargeMcbEntry(), FsRtlRemoveMcbEntryPrivate(), FsRtlSplitLargeMcb(), and FsRtlTruncateLargeMcb().
|
|
||||||||||||||||||||||||
|
Definition at line 1970 of file largemcb.c. References Dbg, DebugTrace, FALSE, _NONOPAQUE_MCB::FastMutex, PAGED_CODE, _NONOPAQUE_MCB::PairCount, PNONOPAQUE_MCB, SectorsWithinRun, StartingLbn, StartingVbn, TRUE, try_return, and UNUSED_LBN. Referenced by FsRtlGetNextMcbEntry().
|
|
||||||||||||||||||||||||
|
Definition at line 490 of file largemcb.c. References FsRtlGetNextLargeMcbEntry(), and PAGED_CODE.
|
|
||||||||||||
|
Definition at line 572 of file largemcb.c. References Dbg, DebugTrace, ExInitializeFastMutex, _NONOPAQUE_MCB::FastMutex, FsRtlAllocateFastMutex, FsRtlAllocateFirstMapping, FsRtlFreeFastMutex, FsRtlpAllocatePool, INITIAL_MAXIMUM_PAIR_COUNT, _NONOPAQUE_MCB::Mapping, _NONOPAQUE_MCB::MaximumPairCount, NULL, PagedPool, _NONOPAQUE_MCB::PairCount, PNONOPAQUE_MCB, and _NONOPAQUE_MCB::PoolType. Referenced by FsRtlInitializeMcb(), UdfInitializeFcbMcb(), and UdfLoadSparingTables().
|
|
|
Definition at line 521 of file largemcb.c. References ExInitializeNPagedLookasideList(), ExInitializePagedLookasideList(), FsRtlFastMutexLookasideList, FsRtlFirstMappingLookasideList, INITIAL_MAXIMUM_PAIR_COUNT, NULL, and POOL_RAISE_IF_ALLOCATION_FAILURE. Referenced by FsRtlInitSystem().
|
|
||||||||||||
|
Definition at line 334 of file largemcb.c. References FsRtlInitializeLargeMcb(), and PAGED_CODE. Referenced by UdfInitializeVmcb().
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 1600 of file largemcb.c. References ASSERTMSG, Dbg, DebugTrace, EndingVbn, FALSE, _NONOPAQUE_MCB::FastMutex, FsRtlFindLargeIndex(), Index, LBN, _NONOPAQUE_MCB::PairCount, PNONOPAQUE_MCB, StartingLbn, StartingVbn, TRUE, try_return, and UNUSED_LBN.
|
|
||||||||||||||||
|
Definition at line 1763 of file largemcb.c. References Dbg, DebugTrace, EndingLbn, EndingVbn, FALSE, _NONOPAQUE_MCB::FastMutex, PAGED_CODE, _NONOPAQUE_MCB::PairCount, PNONOPAQUE_MCB, TRUE, try_return, and UNUSED_LBN. Referenced by FsRtlLookupLastMcbEntry().
|
|
||||||||||||||||||||
|
Definition at line 1841 of file largemcb.c. References Dbg, DebugTrace, EndingLbn, EndingVbn, FALSE, _NONOPAQUE_MCB::FastMutex, Index, PAGED_CODE, _NONOPAQUE_MCB::PairCount, PNONOPAQUE_MCB, TRUE, try_return, and UNUSED_LBN.
|
|
||||||||||||||||
|
Definition at line 455 of file largemcb.c. References FsRtlLookupLastLargeMcbEntry(), and PAGED_CODE. Referenced by UdfAddVmcbMapping().
|
|
||||||||||||||||||||||||
|
Definition at line 426 of file largemcb.c. References FsRtlLookupLargeMcbEntry(), Index, and NULL.
|
|
|
Definition at line 1924 of file largemcb.c. References Count, Dbg, DebugTrace, _NONOPAQUE_MCB::FastMutex, PAGED_CODE, _NONOPAQUE_MCB::PairCount, and PNONOPAQUE_MCB. Referenced by FsRtlNumberOfRunsInMcb().
|
|
|
Definition at line 479 of file largemcb.c. References FsRtlNumberOfRunsInLargeMcb(), and PAGED_CODE.
|
|
||||||||||||||||
|
Definition at line 2986 of file largemcb.c. References PAGED_CODE. Referenced by FsRtlAddLargeMcbEntry(), and FsRtlRemoveMcbEntryPrivate().
|
|
||||||||||||||||
|
Definition at line 1528 of file largemcb.c. References ASSERTMSG, Dbg, DebugTrace, _NONOPAQUE_MCB::FastMutex, FsRtlRemoveMcbEntryPrivate(), PAGED_CODE, PNONOPAQUE_MCB, and VBN.
|
|
||||||||||||||||
|
Definition at line 392 of file largemcb.c. References Dbg, DebugTrace, _NONOPAQUE_MCB::FastMutex, FsRtlRemoveMcbEntryPrivate(), PAGED_CODE, and PNONOPAQUE_MCB. Referenced by UdfAddVmcbMapping(), and UdfRemoveVmcbMapping().
|
|
||||||||||||||||
|
Definition at line 2297 of file largemcb.c. References Dbg, DebugTrace, EndingVbn, FsRtlAddLargeEntry(), FsRtlFindLargeIndex(), FsRtlRemoveLargeEntry(), Index, LBN, NextStartingLbn, PAGED_CODE, PreviousEndingLbn, SectorsWithinRun, StartingLbn, StartingVbn, and UNUSED_LBN. Referenced by FsRtlRemoveLargeMcbEntry(), and FsRtlRemoveMcbEntry().
|
|
||||||||||||
|
Definition at line 922 of file largemcb.c. References _NONOPAQUE_MCB::FastMutex, _NONOPAQUE_MCB::PairCount, and PNONOPAQUE_MCB. Referenced by UdfInitializeFcbMcb(), and UdfResetVmcb().
|
|
||||||||||||||||
|
Definition at line 2066 of file largemcb.c. References ASSERTMSG, Dbg, DebugTrace, FALSE, _NONOPAQUE_MCB::FastMutex, FsRtlAddLargeEntry(), FsRtlFindLargeIndex(), Index, LBN, _NONOPAQUE_MCB::Mapping, PAGED_CODE, _NONOPAQUE_MCB::PairCount, PNONOPAQUE_MCB, PreviousEndingLbn, StartingLbn, StartingVbn, TRUE, try_return, UNUSED_LBN, and VBN.
|
|
||||||||||||
|
Definition at line 743 of file largemcb.c. References ASSERTMSG, Dbg, DebugTrace, EXCEPTION_EXECUTE_HANDLER, ExFreePool(), _NONOPAQUE_MCB::FastMutex, FsRtlAllocateFirstMapping, FsRtlFindLargeIndex(), FsRtlpAllocatePool, Index, INITIAL_MAXIMUM_PAIR_COUNT, _NONOPAQUE_MCB::Mapping, _NONOPAQUE_MCB::MaximumPairCount, NextStartingVbn, NULL, PAGED_CODE, PagedPool, _NONOPAQUE_MCB::PairCount, PMAPPING, PNONOPAQUE_MCB, _NONOPAQUE_MCB::PoolType, StartingLbn, UNUSED_LBN, and VBN. Referenced by FsRtlTruncateMcb().
|
|
||||||||||||
|
Definition at line 361 of file largemcb.c. References FsRtlTruncateLargeMcb(), and PAGED_CODE.
|
|
|
Definition at line 670 of file largemcb.c. References Dbg, DebugTrace, ExFreePool(), _NONOPAQUE_MCB::FastMutex, FsRtlFreeFastMutex, FsRtlFreeFirstMapping, INITIAL_MAXIMUM_PAIR_COUNT, _NONOPAQUE_MCB::Mapping, _NONOPAQUE_MCB::MaximumPairCount, NULL, PagedPool, PNONOPAQUE_MCB, and _NONOPAQUE_MCB::PoolType. Referenced by FsRtlUninitializeMcb(), UdfDeletePcb(), and UdfUninitializeFcbMcb().
|
|
|
Definition at line 348 of file largemcb.c. References FsRtlUninitializeLargeMcb(), and PAGED_CODE. Referenced by UdfInitializeVmcb(), and UdfUninitializeVmcb().
|
|
|
Definition at line 322 of file largemcb.c. Referenced by FsRtlInitializeLargeMcbs(). |
|
|
Definition at line 315 of file largemcb.c. Referenced by FsRtlInitializeLargeMcbs(). |
1.3.7