7#define EX_RUNDOWN_ACTIVE 0x1
8#define EX_RUNDOWN_COUNT_SHIFT 0x1
9#define EX_RUNDOWN_COUNT_INC (1 << EX_RUNDOWN_COUNT_SHIFT)
11typedef struct _FAST_MUTEX {
51#if !defined(_WIN64) && (defined(_NTDDK_) || defined(_NTIFS_) || defined(_NDIS_))
52#define LOOKASIDE_ALIGN
54#define LOOKASIDE_ALIGN DECLSPEC_CACHEALIGN
62(
NTAPI *PALLOCATE_FUNCTION)(
70(
NTAPI *PALLOCATE_FUNCTION_EX)(
79(
NTAPI *PFREE_FUNCTION)(
85(
NTAPI *PFREE_FUNCTION_EX)(
98#define GENERAL_LOOKASIDE_LAYOUT \
99 _ANONYMOUS_UNION union { \
100 SLIST_HEADER ListHead; \
101 SINGLE_LIST_ENTRY SingleListHead; \
104 USHORT MaximumDepth; \
105 ULONG TotalAllocates; \
106 _ANONYMOUS_UNION union { \
107 ULONG AllocateMisses; \
108 ULONG AllocateHits; \
111 _ANONYMOUS_UNION union { \
118 _ANONYMOUS_UNION union { \
119 PALLOCATE_FUNCTION_EX AllocateEx; \
120 PALLOCATE_FUNCTION Allocate; \
122 _ANONYMOUS_UNION union { \
123 PFREE_FUNCTION_EX FreeEx; \
124 PFREE_FUNCTION Free; \
126 LIST_ENTRY ListEntry; \
127 ULONG LastTotalAllocates; \
128 _ANONYMOUS_UNION union { \
129 ULONG LastAllocateMisses; \
130 ULONG LastAllocateHits; \
142#define LOOKASIDE_CHECK(f) \
143 C_ASSERT(FIELD_OFFSET(GENERAL_LOOKASIDE,f) == FIELD_OFFSET(GENERAL_LOOKASIDE_POOL,f))
151#if !defined(_AMD64_) && !defined(_IA64_)
158#if !defined(_AMD64_) && !defined(_IA64_)
163#define LOOKASIDE_MINIMUM_BLOCK_SIZE (RTL_SIZEOF_THROUGH_FIELD (SLIST_ENTRY, Next))
169#if (NTDDI_VERSION >= NTDDI_VISTA)
171#define EX_LOOKASIDE_LIST_EX_FLAGS_RAISE_ON_FAIL 0x00000001UL
172#define EX_LOOKASIDE_LIST_EX_FLAGS_FAIL_NO_RAISE 0x00000002UL
174#define EX_MAXIMUM_LOOKASIDE_DEPTH_BASE 256
175#define EX_MAXIMUM_LOOKASIDE_DEPTH_LIMIT 1024
198(
NTAPI WORKER_THREAD_ROUTINE)(
245#define ResourceNeverExclusive 0x0010
246#define ResourceReleaseByOtherThread 0x0020
247#define ResourceOwnedExclusive 0x0080
249#define RESOURCE_HASH_TABLE_SIZE 64
275#define IF_NTOS_DEBUG(FlagName) if (NtGlobalFlag & (FLG_##FlagName))
277#define IF_NTOS_DEBUG(FlagName) if(FALSE)
280#if (NTDDI_VERSION >= NTDDI_WINBLUE)
328typedef struct _ZONE_SEGMENT_HEADER {
340#define PROTECTED_POOL 0x80000000
344#define INVALID_PROCESSOR_INDEX 0xffffffff
346#define EX_PUSH_LOCK ULONG_PTR
347#define PEX_PUSH_LOCK PULONG_PTR
351#if (NTDDI_VERSION >= NTDDI_VISTA)
#define _IRQL_requires_same_
#define _IRQL_requires_(irql)
#define CALLBACK_FUNCTION
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID Owner
#define _Function_class_(n)
#define _ANONYMOUS_STRUCT
_ANONYMOUS_UNION union _ERESOURCE::@3959 DUMMYUNIONNAME
volatile PKSEMAPHORE SharedWaiters
ULONG NumberOfExclusiveWaiters
volatile PKEVENT ExclusiveWaiters
ULONG NumberOfSharedWaiters
LIST_ENTRY SystemResourcesList
ULONG_PTR CreatorBackTraceIndex
PEXT_DELETE_CALLBACK DeleteCallback
_ANONYMOUS_UNION union _EX_RUNDOWN_REF::@3956 DUMMYUNIONNAME
KSPIN_LOCK Lock__ObsoleteButDoNotDelete
_ANONYMOUS_UNION union _OWNER_ENTRY::@3957 DUMMYUNIONNAME
ERESOURCE_THREAD OwnerThread
_ANONYMOUS_STRUCT struct _OWNER_ENTRY::@3957::@3958 DUMMYSTRUCTNAME
FAST_MUTEX Lock__ObsoleteButDoNotDelete
PWORKER_THREAD_ROUTINE WorkerRoutine
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
_Reserved_ PVOID Reserved
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR _In_ ULONGLONG _In_ ULONGLONG _In_opt_ PEVENT_FILTER_DESCRIPTOR _Inout_opt_ PVOID CallbackContext
struct _EX_TIMER * PEX_TIMER
@ SmallBusinessRestricted
CALLBACK_FUNCTION * PCALLBACK_FUNCTION
struct _EX_RUNDOWN_REF * PEX_RUNDOWN_REF
struct _EX_RUNDOWN_REF_CACHE_AWARE * PEX_RUNDOWN_REF_CACHE_AWARE
struct _EXT_SET_PARAMETERS_V0 EXT_SET_PARAMETERS
struct _GENERAL_LOOKASIDE_POOL GENERAL_LOOKASIDE_POOL
struct _RESOURCE_HASH_ENTRY * PRESOURCE_HASH_ENTRY
struct _LOOKASIDE_LIST_EX * PLOOKASIDE_LIST_EX
EXT_SET_PARAMETERS * PKT2_SET_PARAMETERS
_IRQL_requires_same_ _In_ SIZE_T _In_ ULONG Tag
struct _EXT_SET_PARAMETERS_V0 * PEXT_SET_PARAMETERS
struct _RESOURCE_HASH_ENTRY RESOURCE_HASH_ENTRY
$if(_WDMDDK_||_NTDDK_) $endif(_WDMDDK_||_NTDDK_) $if(_WDMDDK_) typedef struct _FAST_MUTEX
struct _ERESOURCE * PERESOURCE
ULONG_PTR * PERESOURCE_THREAD
EXT_CALLBACK * PEXT_CALLBACK
EXT_DELETE_CALLBACK * PEXT_DELETE_CALLBACK
#define GENERAL_LOOKASIDE_LAYOUT
_IRQL_requires_same_ _In_ SIZE_T _In_ ULONG _Inout_ PLOOKASIDE_LIST_EX Lookaside
struct _GENERAL_LOOKASIDE_POOL * PGENERAL_LOOKASIDE_POOL
$endif(_WDMDDK_) $if(_NTDDK_) typedef struct _ZONE_SEGMENT_HEADER
struct _OWNER_ENTRY * POWNER_ENTRY
enum _WORK_QUEUE_TYPE WORK_QUEUE_TYPE
struct _LOOKASIDE_LIST_EX LOOKASIDE_LIST_EX
EXT_SET_PARAMETERS KT2_SET_PARAMETERS
@ LowPoolPrioritySpecialPoolOverrun
@ NormalPoolPrioritySpecialPoolOverrun
@ NormalPoolPrioritySpecialPoolUnderrun
@ LowPoolPrioritySpecialPoolUnderrun
@ HighPoolPrioritySpecialPoolUnderrun
@ HighPoolPrioritySpecialPoolOverrun
struct LOOKASIDE_ALIGN _GENERAL_LOOKASIDE GENERAL_LOOKASIDE
struct _EXT_DELETE_PARAMETERS EXT_DELETE_PARAMETERS
#define RESOURCE_HASH_TABLE_SIZE
struct LOOKASIDE_ALIGN _PAGED_LOOKASIDE_LIST PAGED_LOOKASIDE_LIST
struct _EX_RUNDOWN_REF EX_RUNDOWN_REF
struct _OWNER_ENTRY OWNER_ENTRY
struct _ZONE_HEADER * PZONE_HEADER
PVOID PEXT_CANCEL_PARAMETERS
#define LOOKASIDE_CHECK(f)
struct _WORK_QUEUE_ITEM * PWORK_QUEUE_ITEM
WORKER_THREAD_ROUTINE * PWORKER_THREAD_ROUTINE
_IRQL_requires_same_ _In_ SIZE_T NumberOfBytes
struct _RESOURCE_PERFORMANCE_DATA RESOURCE_PERFORMANCE_DATA
_IRQL_requires_same_ _In_opt_ PVOID Argument1
struct LOOKASIDE_ALIGN _GENERAL_LOOKASIDE * PGENERAL_LOOKASIDE
struct _ERESOURCE ERESOURCE
enum _EX_POOL_PRIORITY EX_POOL_PRIORITY
struct _RESOURCE_PERFORMANCE_DATA * PRESOURCE_PERFORMANCE_DATA
struct _EXT_DELETE_PARAMETERS * PEXT_DELETE_PARAMETERS
_IRQL_requires_same_ _In_opt_ PVOID _In_opt_ PVOID Argument2
struct _ZONE_HEADER ZONE_HEADER
struct _WORK_QUEUE_ITEM WORK_QUEUE_ITEM
ULONG_PTR ERESOURCE_THREAD
enum _SUITE_TYPE SUITE_TYPE
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST * PNPAGED_LOOKASIDE_LIST
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST NPAGED_LOOKASIDE_LIST
struct LOOKASIDE_ALIGN _PAGED_LOOKASIDE_LIST * PPAGED_LOOKASIDE_LIST
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
_Inout_opt_ PVOID Parameter