7 #define EX_RUNDOWN_ACTIVE 0x1 8 #define EX_RUNDOWN_COUNT_SHIFT 0x1 9 #define EX_RUNDOWN_COUNT_INC (1 << EX_RUNDOWN_COUNT_SHIFT) 11 typedef 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) 324 #endif // NTDDI_WINBLUE 328 typedef 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 struct _EXT_DELETE_PARAMETERS EXT_DELETE_PARAMETERS
_IRQL_requires_same_ _In_ SIZE_T NumberOfBytes
struct _RESOURCE_PERFORMANCE_DATA RESOURCE_PERFORMANCE_DATA
ULONG_PTR ERESOURCE_THREAD
ULONG_PTR CreatorBackTraceIndex
PVOID PEXT_CANCEL_PARAMETERS
_IRQL_requires_same_ _Function_class_(ALLOCATE_FUNCTION) typedef PVOID(NTAPI *PALLOCATE_FUNCTION)(_In_ POOL_TYPE PoolType
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST NPAGED_LOOKASIDE_LIST
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR _In_ ULONGLONG _In_ ULONGLONG _In_opt_ PEVENT_FILTER_DESCRIPTOR _Inout_opt_ PVOID CallbackContext
struct _ERESOURCE ERESOURCE
volatile PKEVENT ExclusiveWaiters
struct _EX_RUNDOWN_REF_CACHE_AWARE * PEX_RUNDOWN_REF_CACHE_AWARE
IN BOOLEAN OUT PSTR Buffer
EXT_SET_PARAMETERS * PKT2_SET_PARAMETERS
PEXT_DELETE_CALLBACK DeleteCallback
struct _EX_RUNDOWN_REF EX_RUNDOWN_REF
struct _ERESOURCE * PERESOURCE
_IRQL_requires_same_ _In_ SIZE_T _In_ ULONG Tag
_IRQL_requires_same_ _In_ SIZE_T _In_ ULONG _Inout_ PLOOKASIDE_LIST_EX Lookaside
struct _GENERAL_LOOKASIDE_POOL GENERAL_LOOKASIDE_POOL
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST * PNPAGED_LOOKASIDE_LIST
struct LOOKASIDE_ALIGN _GENERAL_LOOKASIDE GENERAL_LOOKASIDE
KSPIN_LOCK Lock__ObsoleteButDoNotDelete
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
EXT_DELETE_CALLBACK * PEXT_DELETE_CALLBACK
struct _OWNER_ENTRY OWNER_ENTRY
_IRQL_requires_same_ _In_opt_ PVOID Argument1
struct _EX_TIMER * PEX_TIMER
struct LOOKASIDE_ALIGN _GENERAL_LOOKASIDE * PGENERAL_LOOKASIDE
VOID CALLBACK_FUNCTION(__in PVOID CallbackContext, __in_opt PVOID Argument1, __in_opt PVOID Argument2)
enum _EX_POOL_PRIORITY EX_POOL_PRIORITY
struct _EXT_DELETE_PARAMETERS * PEXT_DELETE_PARAMETERS
struct _LOOKASIDE_LIST_EX * PLOOKASIDE_LIST_EX
LIST_ENTRY SystemResourcesList
struct _ZONE_HEADER * PZONE_HEADER
#define RESOURCE_HASH_TABLE_SIZE
_In_ PVOID _In_ ULONG Event
#define _IRQL_requires_same_
_Reserved_ PVOID Reserved
_ANONYMOUS_UNION union _EX_RUNDOWN_REF::@3735 DUMMYUNIONNAME
#define _IRQL_requires_(irql)
struct _OWNER_ENTRY * POWNER_ENTRY
struct _LOOKASIDE_LIST_EX LOOKASIDE_LIST_EX
ULONG NumberOfExclusiveWaiters
#define LOOKASIDE_CHECK(f)
enum _WORK_QUEUE_TYPE WORK_QUEUE_TYPE
struct _WORK_QUEUE_ITEM WORK_QUEUE_ITEM
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
PWORKER_THREAD_ROUTINE WorkerRoutine
struct _GENERAL_LOOKASIDE_POOL * PGENERAL_LOOKASIDE_POOL
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
struct _ZONE_HEADER ZONE_HEADER
#define _ANONYMOUS_STRUCT
$endif(_WDMDDK_) $if(_NTDDK_) typedef struct _ZONE_SEGMENT_HEADER
EXT_CALLBACK * PEXT_CALLBACK
_IRQL_requires_same_ _In_opt_ PVOID _In_opt_ PVOID Argument2
_ANONYMOUS_UNION union _OWNER_ENTRY::@3736 DUMMYUNIONNAME
struct LOOKASIDE_ALIGN _PAGED_LOOKASIDE_LIST PAGED_LOOKASIDE_LIST
struct _RESOURCE_PERFORMANCE_DATA * PRESOURCE_PERFORMANCE_DATA
CALLBACK_FUNCTION * PCALLBACK_FUNCTION
ULONG_PTR * PERESOURCE_THREAD
_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
FAST_MUTEX Lock__ObsoleteButDoNotDelete
struct _EX_RUNDOWN_REF * PEX_RUNDOWN_REF
struct _WORK_QUEUE_ITEM * PWORK_QUEUE_ITEM
enum _SUITE_TYPE SUITE_TYPE
ERESOURCE_THREAD OwnerThread
struct _RESOURCE_HASH_ENTRY RESOURCE_HASH_ENTRY
struct _RESOURCE_HASH_ENTRY * PRESOURCE_HASH_ENTRY
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
_ANONYMOUS_STRUCT struct _OWNER_ENTRY::@3736::@3737 DUMMYSTRUCTNAME
EXT_SET_PARAMETERS KT2_SET_PARAMETERS
volatile PKSEMAPHORE SharedWaiters
ULONG NumberOfSharedWaiters
struct LOOKASIDE_ALIGN _PAGED_LOOKASIDE_LIST * PPAGED_LOOKASIDE_LIST
_ANONYMOUS_UNION union _ERESOURCE::@3738 DUMMYUNIONNAME
struct _EXT_SET_PARAMETERS_V0 * PEXT_SET_PARAMETERS
#define GENERAL_LOOKASIDE_LAYOUT
struct _EXT_SET_PARAMETERS_V0 EXT_SET_PARAMETERS
$if(_WDMDDK_||_NTDDK_) $endif(_WDMDDK_||_NTDDK_) $if(_WDMDDK_) typedef struct _FAST_MUTEX
WORKER_THREAD_ROUTINE * PWORKER_THREAD_ROUTINE