ReactOS 0.4.16-dev-340-g0540c21
|
Go to the source code of this file.
Classes | |
struct | _POOL_DPC_CONTEXT |
Macros | |
#define | NDEBUG |
#define | MODULE_INVOLVED_IN_ARM3 |
#define | POOL_BIG_TABLE_ENTRY_FREE 0x1 |
#define | POOL_BIG_TABLE_USE_RATE 4 |
#define | POOL_ENTRY(x) (PPOOL_HEADER)((ULONG_PTR)(x) - sizeof(POOL_HEADER)) |
#define | POOL_FREE_BLOCK(x) (PLIST_ENTRY)((ULONG_PTR)(x) + sizeof(POOL_HEADER)) |
#define | POOL_BLOCK(x, i) (PPOOL_HEADER)((ULONG_PTR)(x) + ((i) * POOL_BLOCK_SIZE)) |
#define | POOL_NEXT_BLOCK(x) POOL_BLOCK((x), (x)->BlockSize) |
#define | POOL_PREV_BLOCK(x) POOL_BLOCK((x), -((x)->PreviousSize)) |
Typedefs | |
typedef struct _POOL_DPC_CONTEXT | POOL_DPC_CONTEXT |
typedef struct _POOL_DPC_CONTEXT * | PPOOL_DPC_CONTEXT |
#define POOL_BLOCK | ( | x, | |
i | |||
) | (PPOOL_HEADER)((ULONG_PTR)(x) + ((i) * POOL_BLOCK_SIZE)) |
#define POOL_ENTRY | ( | x | ) | (PPOOL_HEADER)((ULONG_PTR)(x) - sizeof(POOL_HEADER)) |
#define POOL_FREE_BLOCK | ( | x | ) | (PLIST_ENTRY)((ULONG_PTR)(x) + sizeof(POOL_HEADER)) |
#define POOL_NEXT_BLOCK | ( | x | ) | POOL_BLOCK((x), (x)->BlockSize) |
#define POOL_PREV_BLOCK | ( | x | ) | POOL_BLOCK((x), -((x)->PreviousSize)) |
typedef struct _POOL_DPC_CONTEXT POOL_DPC_CONTEXT |
typedef struct _POOL_DPC_CONTEXT * PPOOL_DPC_CONTEXT |
_IRQL_requires_ | ( | DISPATCH_LEVEL | ) |
Definition at line 1459 of file expool.c.
Definition at line 2465 of file expool.c.
PVOID NTAPI ExAllocatePoolWithQuotaTag | ( | IN POOL_TYPE | PoolType, |
IN SIZE_T | NumberOfBytes, | ||
IN ULONG | Tag | ||
) |
Definition at line 2987 of file expool.c.
Definition at line 1904 of file expool.c.
PVOID NTAPI ExAllocatePoolWithTagPriority | ( | IN POOL_TYPE | PoolType, |
IN SIZE_T | NumberOfBytes, | ||
IN ULONG | Tag, | ||
IN EX_POOL_PRIORITY | Priority | ||
) |
Definition at line 2963 of file expool.c.
Referenced by _RxAllocatePoolWithTag(), InitializeMemoryManagement(), and MyAllocatePool().
Definition at line 2494 of file expool.c.
NTSTATUS NTAPI ExGetPoolTagInfo | ( | IN PSYSTEM_POOLTAG_INFORMATION | SystemInformation, |
IN ULONG | SystemInformationLength, | ||
IN OUT PULONG ReturnLength | OPTIONAL | ||
) |
Definition at line 1356 of file expool.c.
Referenced by QSI_DEF().
VOID NTAPI ExInitializePoolDescriptor | ( | IN PPOOL_DESCRIPTOR | PoolDescriptor, |
IN POOL_TYPE | PoolType, | ||
IN ULONG | PoolIndex, | ||
IN ULONG | Threshold, | ||
IN PVOID | PoolLock | ||
) |
Definition at line 969 of file expool.c.
Referenced by InitializePool(), and MiInitializeSessionPool().
FORCEINLINE KIRQL ExLockPool | ( | IN PPOOL_DESCRIPTOR | Descriptor | ) |
Definition at line 1273 of file expool.c.
Referenced by ExAllocatePoolWithTag(), and ExFreePoolWithTag().
BOOLEAN NTAPI ExpAddTagForBigPages | ( | IN PVOID | Va, |
IN ULONG | Key, | ||
IN ULONG | NumberOfPages, | ||
IN POOL_TYPE | PoolType | ||
) |
Definition at line 1581 of file expool.c.
Referenced by ExAllocatePoolWithTag().
Definition at line 296 of file expool.c.
Definition at line 376 of file expool.c.
Referenced by ExAllocatePoolWithTag(), and ExFreePoolWithTag().
VOID NTAPI ExpCheckPoolHeader | ( | IN PPOOL_HEADER | Entry | ) |
Definition at line 193 of file expool.c.
Referenced by ExpCheckPoolAllocation(), and ExpCheckPoolBlocks().
FORCEINLINE VOID ExpCheckPoolIrqlLevel | ( | IN POOL_TYPE | PoolType, |
IN SIZE_T | NumberOfBytes, | ||
IN PVOID | Entry | ||
) |
Definition at line 416 of file expool.c.
Referenced by ExAllocatePoolWithTag(), and ExFreePoolWithTag().
VOID NTAPI ExpCheckPoolLinks | ( | IN PLIST_ENTRY | ListHead | ) |
Definition at line 99 of file expool.c.
Referenced by ExAllocatePoolWithTag(), ExFreePoolWithTag(), ExpInsertPoolHeadList(), and ExpInsertPoolTailList().
Definition at line 441 of file expool.c.
Referenced by ExpInsertPoolTracker(), ExpRemovePoolTracker(), and ExpSeedHotTags().
FORCEINLINE ULONG ExpComputePartialHashForAddress | ( | IN PVOID | BaseAddress | ) |
Definition at line 457 of file expool.c.
Referenced by _IRQL_requires_(), ExpAddTagForBigPages(), and ExpFindAndRemoveTagBigPages().
PLIST_ENTRY NTAPI ExpDecodePoolLink | ( | IN PLIST_ENTRY | Link | ) |
Definition at line 85 of file expool.c.
Referenced by ExFreePoolWithTag(), ExpCheckPoolLinks(), ExpInsertPoolHeadList(), ExpInsertPoolTailList(), ExpIsPoolListEmpty(), ExpRemovePoolEntryList(), ExpRemovePoolHeadList(), and ExpRemovePoolTailList().
PLIST_ENTRY NTAPI ExpEncodePoolLink | ( | IN PLIST_ENTRY | Link | ) |
Definition at line 92 of file expool.c.
Referenced by ExpInitializePoolListHead(), ExpInsertPoolHeadList(), ExpInsertPoolTailList(), ExpRemovePoolEntryList(), ExpRemovePoolHeadList(), and ExpRemovePoolTailList().
ULONG NTAPI ExpFindAndRemoveTagBigPages | ( | IN PVOID | Va, |
OUT PULONG_PTR | BigPages, | ||
IN POOL_TYPE | PoolType | ||
) |
Definition at line 1682 of file expool.c.
Referenced by ExFreePoolWithTag().
VOID NTAPI ExpGetPoolTagInfoTarget | ( | IN PKDPC | Dpc, |
IN PVOID | DeferredContext, | ||
IN PVOID | SystemArgument1, | ||
IN PVOID | SystemArgument2 | ||
) |
Definition at line 1321 of file expool.c.
Referenced by ExGetPoolTagInfo().
VOID NTAPI ExpInitializePoolListHead | ( | IN PLIST_ENTRY | ListHead | ) |
Definition at line 114 of file expool.c.
Referenced by ExInitializePoolDescriptor().
VOID NTAPI ExpInsertPoolHeadList | ( | IN PLIST_ENTRY | ListHead, |
IN PLIST_ENTRY | Entry | ||
) |
Definition at line 178 of file expool.c.
Referenced by ExFreePoolWithTag().
VOID NTAPI ExpInsertPoolTailList | ( | IN PLIST_ENTRY | ListHead, |
IN PLIST_ENTRY | Entry | ||
) |
Definition at line 163 of file expool.c.
Referenced by ExAllocatePoolWithTag().
Definition at line 851 of file expool.c.
Referenced by _IRQL_requires_(), ExAllocatePoolWithTag(), and InitializePool().
BOOLEAN NTAPI ExpIsPoolListEmpty | ( | IN PLIST_ENTRY | ListHead | ) |
Definition at line 121 of file expool.c.
Referenced by ExAllocatePoolWithTag().
VOID NTAPI ExpRemovePoolEntryList | ( | IN PLIST_ENTRY | Entry | ) |
Definition at line 128 of file expool.c.
Referenced by ExFreePoolWithTag().
PLIST_ENTRY NTAPI ExpRemovePoolHeadList | ( | IN PLIST_ENTRY | ListHead | ) |
Definition at line 139 of file expool.c.
Referenced by ExAllocatePoolWithTag().
PLIST_ENTRY NTAPI ExpRemovePoolTailList | ( | IN PLIST_ENTRY | ListHead | ) |
Definition at line 760 of file expool.c.
Referenced by _IRQL_requires_(), and ExFreePoolWithTag().
Definition at line 640 of file expool.c.
Referenced by InitializePool().
VOID NTAPI ExQueryPoolUsage | ( | OUT PULONG | PagedPoolPages, |
OUT PULONG | NonPagedPoolPages, | ||
OUT PULONG | PagedPoolAllocs, | ||
OUT PULONG | PagedPoolFrees, | ||
OUT PULONG | PagedPoolLookasideHits, | ||
OUT PULONG | NonPagedPoolAllocs, | ||
OUT PULONG | NonPagedPoolFrees, | ||
OUT PULONG | NonPagedPoolLookasideHits | ||
) |
Definition at line 1768 of file expool.c.
Referenced by QSI_DEF().
Definition at line 1852 of file expool.c.
Referenced by IoFreeIrp().
FORCEINLINE VOID ExUnlockPool | ( | IN PPOOL_DESCRIPTOR | Descriptor, |
IN KIRQL | OldIrql | ||
) |
Definition at line 1297 of file expool.c.
Referenced by ExAllocatePoolWithTag(), and ExFreePoolWithTag().
Definition at line 1020 of file expool.c.
Referenced by MiBuildPagedPool(), and MiInitMachineDependent().
ULONG ExpBigTableExpansionFailed |
Definition at line 48 of file expool.c.
Referenced by ExpAddTagForBigPages().
KSPIN_LOCK ExpLargePoolTableLock |
Definition at line 54 of file expool.c.
Referenced by _IRQL_requires_(), ExpAddTagForBigPages(), ExpCheckPoolAllocation(), and ExpFindAndRemoveTagBigPages().
ULONG ExpNumberOfPagedPools |
Definition at line 41 of file expool.c.
Referenced by ExQueryPoolUsage().
ULONG ExPoolFailures |
Definition at line 57 of file expool.c.
Referenced by ExAllocatePoolWithTag().
PPOOL_DESCRIPTOR ExpPagedPoolDescriptor[16+1] |
Definition at line 43 of file expool.c.
Referenced by ExQueryPoolUsage(), and InitializePool().
PKGUARDED_MUTEX ExpPagedPoolMutex |
Definition at line 45 of file expool.c.
Referenced by InitializePool().
ULONG ExpPoolBigEntriesInUse |
Definition at line 55 of file expool.c.
Referenced by _IRQL_requires_(), ExpAddTagForBigPages(), and ExpFindAndRemoveTagBigPages().
ULONG ExpPoolFlags |
Definition at line 56 of file expool.c.
Referenced by ExAllocatePoolWithQuotaTag(), ExAllocatePoolWithTag(), ExFreePoolWithTag(), ExReturnPoolQuota(), and MiInitializeSpecialPool().
KSPIN_LOCK ExpTaggedPoolLock |
Definition at line 51 of file expool.c.
Referenced by ExpInsertPoolTracker(), and InitializePool().
BOOLEAN ExStopBadTags |
Definition at line 53 of file expool.c.
Referenced by ExpInsertPoolTracker().
ULONGLONG MiLastPoolDumpTime |
Definition at line 58 of file expool.c.
Referenced by ExAllocatePoolWithTag().
POOL_DESCRIPTOR NonPagedPoolDescriptor |
Definition at line 42 of file expool.c.
Referenced by ExAllocatePoolWithTag(), ExQueryPoolUsage(), and InitializePool().
PPOOL_TRACKER_BIG_PAGES PoolBigPageTable |
Definition at line 50 of file expool.c.
Referenced by _IRQL_requires_(), ExpAddTagForBigPages(), ExpCheckPoolAllocation(), ExpFindAndRemoveTagBigPages(), and InitializePool().
SIZE_T PoolBigPageTableHash |
Definition at line 47 of file expool.c.
Referenced by _IRQL_requires_(), ExpAddTagForBigPages(), ExpFindAndRemoveTagBigPages(), and InitializePool().
SIZE_T PoolBigPageTableSize |
Definition at line 47 of file expool.c.
Referenced by _IRQL_requires_(), ExpAddTagForBigPages(), ExpCheckPoolAllocation(), ExpFindAndRemoveTagBigPages(), and InitializePool().
ULONG PoolHitTag |
Definition at line 52 of file expool.c.
Referenced by ExpInsertPoolTracker(), and ExpRemovePoolTracker().
PPOOL_TRACKER_TABLE PoolTrackTable |
Definition at line 49 of file expool.c.
Referenced by ExpGetPoolTagInfoTarget(), ExpInsertPoolTracker(), ExpRemovePoolTracker(), ExpSeedHotTags(), and InitializePool().
SIZE_T PoolTrackTableMask |
Definition at line 46 of file expool.c.
Referenced by ExpInsertPoolTracker(), ExpRemovePoolTracker(), ExpSeedHotTags(), and InitializePool().
SIZE_T PoolTrackTableSize |
Definition at line 46 of file expool.c.
Referenced by ExGetPoolTagInfo(), ExpInsertPoolTracker(), ExpRemovePoolTracker(), ExpSeedHotTags(), and InitializePool().
PPOOL_DESCRIPTOR PoolVector[2] |
Definition at line 44 of file expool.c.
Referenced by ExAllocatePoolWithTag(), ExFreePoolWithTag(), and InitializePool().