6#define ExInterlockedIncrementLong(Addend,Lock) Exfi386InterlockedIncrementLong(Addend)
7#define ExInterlockedDecrementLong(Addend,Lock) Exfi386InterlockedDecrementLong(Addend)
8#define ExInterlockedExchangeUlong(Target, Value, Lock) Exfi386InterlockedExchangeUlong(Target, Value)
10#define ExAcquireSpinLock(Lock, OldIrql) KeAcquireSpinLock((Lock), (OldIrql))
11#define ExReleaseSpinLock(Lock, OldIrql) KeReleaseSpinLock((Lock), (OldIrql))
12#define ExAcquireSpinLockAtDpcLevel(Lock) KeAcquireSpinLockAtDpcLevel(Lock)
13#define ExReleaseSpinLockFromDpcLevel(Lock) KeReleaseSpinLockFromDpcLevel(Lock)
15#define ExInitializeSListHead InitializeSListHead
17#if defined(_NTHAL_) && defined(_X86_)
34ExiTryToAcquireFastMutex(
37#define ExAcquireFastMutex ExiAcquireFastMutex
38#define ExReleaseFastMutex ExiReleaseFastMutex
39#define ExTryToAcquireFastMutex ExiTryToAcquireFastMutex
43#if (NTDDI_VERSION >= NTDDI_WIN2K)
79#define ExInterlockedAddUlong ExfInterlockedAddUlong
80#define ExInterlockedInsertHeadList ExfInterlockedInsertHeadList
81#define ExInterlockedInsertTailList ExfInterlockedInsertTailList
82#define ExInterlockedRemoveHeadList ExfInterlockedRemoveHeadList
83#define ExInterlockedPopEntryList ExfInterlockedPopEntryList
84#define ExInterlockedPushEntryList ExfInterlockedPushEntryList
89#ifdef _WIN2K_COMPAT_SLIST_USAGE
108#define ExInterlockedPushEntrySList(SListHead, SListEntry, Lock) \
109 InterlockedPushEntrySList(SListHead, SListEntry)
111#define ExInterlockedPopEntrySList(SListHead, Lock) \
112 InterlockedPopEntrySList(SListHead)
122#ifdef NONAMELESSUNION
123#define ExQueryDepthSList(SListHead) (SListHead)->s.Depth
125#define ExQueryDepthSList(SListHead) (SListHead)->Depth
146#if !defined(_NTSYSTEM_) && (defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) || defined(_NTOSP_))
156 return (
USHORT)(SListHead->Alignment & 0xffff);
158 return (
USHORT)SListHead->Depth;
163#define ExInterlockedPushEntrySList(SListHead, SListEntry, Lock) \
164 ExpInterlockedPushEntrySList(SListHead, SListEntry)
166#define ExInterlockedPopEntrySList(SListHead, Lock) \
167 ExpInterlockedPopEntrySList(SListHead)
169#define ExInterlockedFlushSList(SListHead) \
170 ExpInterlockedFlushSList(SListHead)
175#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)
181ExAllocateFromPagedLookasideList(
188ExFreeToPagedLookasideList(
197ExAllocateFromPagedLookasideList(
203#ifdef NONAMELESSUNION
226ExFreeToPagedLookasideList(
231#ifdef NONAMELESSUNION
255#define ExGetCurrentResourceThread() ((ULONG_PTR)PsGetCurrentThread())
257#define ExReleaseResource(R) (ExReleaseResourceLite(R))
265#define ExInitializeWorkItem(Item, Routine, Context) \
267 (Item)->WorkerRoutine = Routine; \
268 (Item)->Parameter = Context; \
269 (Item)->List.Flink = NULL; \
278 FastMutex->Owner =
NULL;
279 FastMutex->Contention = 0;
291 if (Zone->FreeList.Next)
292 Zone->FreeList.Next = Zone->FreeList.Next->Next;
312#define ExInterlockedAllocateFromZone(Zone, Lock) \
313 ((PVOID) ExInterlockedPopEntryList(&Zone->FreeList, Lock))
321#define ExInterlockedFreeToZone(Zone, Block, Lock) \
322 ExInterlockedPushEntryList(&(Zone)->FreeList, (PSINGLE_LIST_ENTRY)(Block), Lock)
329#define ExIsFullZone(Zone) \
330 ((Zone)->FreeList.Next == (PSINGLE_LIST_ENTRY) NULL)
337#define ExIsObjectInFirstZoneSegment(Zone,Object) \
338 ((BOOLEAN)( ((PUCHAR)(Object) >= (PUCHAR)(Zone)->SegmentList.Next) && \
339 ((PUCHAR)(Object) < (PUCHAR)(Zone)->SegmentList.Next + \
340 (Zone)->TotalSegmentSize)) )
342#define ExAcquireResourceExclusive ExAcquireResourceExclusiveLite
343#define ExAcquireResourceShared ExAcquireResourceSharedLite
344#define ExConvertExclusiveToShared ExConvertExclusiveToSharedLite
345#define ExDeleteResource ExDeleteResourceLite
346#define ExInitializeResource ExInitializeResourceLite
347#define ExIsResourceAcquiredExclusive ExIsResourceAcquiredExclusiveLite
348#define ExIsResourceAcquiredShared ExIsResourceAcquiredSharedLite
349#define ExIsResourceAcquired ExIsResourceAcquiredSharedLite
350#define ExReleaseResourceForThread ExReleaseResourceForThreadLite
354#define RESULT_NEGATIVE 1
355#define RESULT_POSITIVE 2
369Exfi386InterlockedIncrementLong(
375Exfi386InterlockedDecrementLong(
381Exfi386InterlockedExchangeUlong(
390#define ExDisableResourceBoost ExDisableResourceBoostLite
398#if (NTDDI_VERSION >= NTDDI_WIN2K)
471 "No
tag interferes with debugging.")
493 "No
tag interferes with debugging.")
530#define ExAllocatePoolWithQuotaTag(a,b,c) ExAllocatePoolWithQuota(a,b)
538 "Allocation failures cause a system crash"))
554#define ExAllocatePoolWithTag(a,b,c) ExAllocatePool(a,b)
562 "Allocation failures cause a system crash"))
613 "Allocation failures cause a system crash"))
635 "Allocation failures cause a system crash"))
643ExAllocatePoolQuotaZero (
665 "Allocation failures cause a system crash"))
673ExAllocatePoolQuotaUninitialized(
687 "Allocation failures cause a system crash"))
695ExAllocatePoolPriorityZero(
718 "Allocation failures cause a system crash"))
726ExAllocatePoolPriorityUninitialized(
850#define ExInterlockedAddLargeStatistic(Addend, Increment) \
851 (VOID)InterlockedAdd64(&(Addend)->QuadPart, Increment)
853#define ExInterlockedAddLargeStatistic(Addend, Increment) \
854 (VOID)_InterlockedAddLargeStatistic((PLONGLONG)&(Addend)->QuadPart, Increment)
870ExfInterlockedCompareExchange64(
875#define ExInterlockedCompareExchange64(Destination, Exchange, Comperand, Lock) \
876 ExfInterlockedCompareExchange64(Destination, Exchange, Comperand)
880#define ExInterlockedCompareExchange64(Destination, Exchange, Comperand, Lock) \
881 InterlockedCompareExchange64(Destination, *(Exchange), *(Comperand))
944#define ExIsResourceAcquiredLite ExIsResourceAcquiredSharedLite
953#if (NTDDI_VERSION >= NTDDI_WINBLUE)
955#define EX_TIMER_HIGH_RESOLUTION 0x4
956#define EX_TIMER_NO_WAKE 0x8
957#define EX_TIMER_UNLIMITED_TOLERANCE ((LONGLONG)-1)
958#define EX_TIMER_NOTIFICATION (1UL << 31)
1157ExAdjustLookasideDepth(
VOID);
1169#if (NTDDI_VERSION >= NTDDI_WINXP)
1232#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
1239ExAcquireRundownProtectionEx(
1252#if (NTDDI_VERSION >= NTDDI_WS03SP1)
1325ExAcquireRundownProtectionCacheAware(
1339ExAcquireRundownProtectionCacheAwareEx(
1370#if (NTDDI_VERSION >= NTDDI_VISTA)
1376ExInitializeLookasideListEx(
1390ExDeleteLookasideListEx(
1397ExFlushLookasideListEx(
1401#pragma warning(push)
1402#pragma warning(disable:__WARNING_MEMORY_NOT_ACQUIRED)
1410ExAllocateFromLookasideListEx(
1416#ifdef NONAMELESSUNION
1445ExFreeToLookasideListEx(
1461#if (NTDDI_VERSION >= NTDDI_WIN7)
1467ExSetResourceOwnerPointerEx(
1472#define FLAG_OWNER_POINTER_IS_THREAD 0x1
1482ExAllocateFromNPagedLookasideList(
1488#ifdef NONAMELESSUNION
1489#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)
1491 &
Lookaside->Lock__ObsoleteButDoNotDelete);
1502#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)
1504 &
Lookaside->Lock__ObsoleteButDoNotDelete);
1521ExFreeToNPagedLookasideList(
1526#ifdef NONAMELESSUNION
1531#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)
1534 &
Lookaside->Lock__ObsoleteButDoNotDelete);
1544#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)
1547 &
Lookaside->Lock__ObsoleteButDoNotDelete);
#define ExAllocatePoolUninitialized
#define _Acquires_lock_(lock)
#define _Requires_lock_held_(lock)
#define _Acquires_exclusive_lock_(lock)
#define _Acquires_shared_lock_(lock)
#define _Requires_lock_not_held_(lock)
#define _Releases_lock_(lock)
#define __drv_reportError(why)
#define __drv_preferredFunction(func, why)
#define __drv_freesMem(kind)
#define _IRQL_requires_max_(irql)
#define __drv_allocatesMem(kind)
#define _IRQL_requires_(irql)
#define _IRQL_raises_(irql)
#define _IRQL_saves_global_(kind, param)
#define _IRQL_restores_global_(kind, param)
#define __drv_strictTypeMatch(mode)
#define ExLocalTimeToSystemTime(LocTime, SysTime)
#define ExReleaseResourceForThreadLite(res, thrdID)
NTSTATUS ExInitializeResourceLite(PULONG res)
#define KeInitializeEvent(pEvt, foo, foo2)
#define ExConvertExclusiveToSharedLite(res)
#define ExAcquireResourceExclusiveLite(res, wait)
#define ExDeleteResourceLite(res)
#define ExSystemTimeToLocalTime(SysTime, LocTime)
#define ExAcquireResourceSharedLite(res, wait)
#define ExInitializePushLock
#define ExWaitForRundownProtectionRelease
#define ExReleaseRundownProtection
#define ExGetPreviousMode
#define ExInitializeRundownProtection
#define ExRundownCompleted
#define ExAcquireRundownProtection
SIZE_T NTAPI ExQueryPoolBlockSize(IN PVOID PoolBlock, OUT PBOOLEAN QuotaCharged)
PVOID NTAPI ExAllocatePoolWithTagPriority(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes, IN ULONG Tag, IN EX_POOL_PRIORITY Priority)
PVOID NTAPI ExAllocatePoolWithQuota(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes)
#define ExAllocatePool(type, size)
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG Increment
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA _In_ PFLT_DEFERRED_IO_WORKITEM_ROUTINE _In_ WORK_QUEUE_TYPE QueueType
GLboolean GLboolean GLboolean GLboolean a
VOID NTAPI ExRaiseAccessViolation(VOID)
VOID NTAPI ExRaiseDatatypeMisalignment(VOID)
VOID NTAPI ExInitializePagedLookasideList(IN PPAGED_LOOKASIDE_LIST Lookaside, IN PALLOCATE_FUNCTION Allocate OPTIONAL, IN PFREE_FUNCTION Free OPTIONAL, IN ULONG Flags, IN SIZE_T Size, IN ULONG Tag, IN USHORT Depth)
VOID NTAPI ExDeletePagedLookasideList(IN PPAGED_LOOKASIDE_LIST Lookaside)
VOID NTAPI ExInitializeNPagedLookasideList(IN PNPAGED_LOOKASIDE_LIST Lookaside, IN PALLOCATE_FUNCTION Allocate OPTIONAL, IN PFREE_FUNCTION Free OPTIONAL, IN ULONG Flags, IN SIZE_T Size, IN ULONG Tag, IN USHORT Depth)
NTKERNELAPI NTSTATUS ExUuidCreate(OUT UUID *Uuid)
#define ExFreePoolWithTag(_P, _T)
FORCEINLINE PVOID ExAllocatePoolZero(ULONG PoolType, SIZE_T NumberOfBytes, ULONG Tag)
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
PSLIST_ENTRY FASTCALL InterlockedPushListSList(_Inout_ PSLIST_HEADER ListHead, _Inout_ __drv_aliasesMem PSLIST_ENTRY List, _Inout_ PSLIST_ENTRY ListEnd, _In_ ULONG Count)
#define _Post_writable_byte_size_(s)
#define _Must_inspect_result_
#define _Post_satisfies_(e)
#define _Function_class_(n)
#define _Interlocked_operand_
struct _SINGLE_LIST_ENTRY * PSINGLE_LIST_ENTRY
#define DECLSPEC_NORETURN
__GNU_EXTENSION typedef __int64 * PLONGLONG
VOID NTAPI ExUnregisterCallback(IN PVOID CallbackRegistrationHandle)
VOID NTAPI ExNotifyCallback(IN PCALLBACK_OBJECT CallbackObject, IN PVOID Argument1, IN PVOID Argument2)
PVOID NTAPI ExRegisterCallback(IN PCALLBACK_OBJECT CallbackObject, IN PCALLBACK_FUNCTION CallbackFunction, IN PVOID CallbackContext)
NTSTATUS NTAPI ExCreateCallback(OUT PCALLBACK_OBJECT *CallbackObject, IN POBJECT_ATTRIBUTES ObjectAttributes, IN BOOLEAN Create, IN BOOLEAN AllowMultipleCallbacks)
VOID FASTCALL ExReleaseFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex)
VOID FASTCALL ExAcquireFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex)
VOID NTAPI ExSetResourceOwnerPointer(IN PERESOURCE Resource, IN PVOID OwnerPointer)
BOOLEAN NTAPI ExAcquireSharedWaitForExclusive(IN PERESOURCE Resource, IN BOOLEAN Wait)
VOID NTAPI ExDisableResourceBoostLite(IN PERESOURCE Resource)
NTSTATUS NTAPI ExReinitializeResourceLite(IN PERESOURCE Resource)
PVOID NTAPI ExEnterCriticalRegionAndAcquireSharedWaitForExclusive(IN PERESOURCE Resource)
BOOLEAN NTAPI ExAcquireSharedStarveExclusive(IN PERESOURCE Resource, IN BOOLEAN Wait)
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
BOOLEAN NTAPI ExIsResourceAcquiredExclusiveLite(IN PERESOURCE Resource)
ULONG NTAPI ExIsResourceAcquiredSharedLite(IN PERESOURCE Resource)
PVOID NTAPI ExEnterCriticalRegionAndAcquireResourceShared(IN PERESOURCE Resource)
ULONG NTAPI ExGetSharedWaiterCount(IN PERESOURCE Resource)
ULONG NTAPI ExGetExclusiveWaiterCount(IN PERESOURCE Resource)
PVOID NTAPI ExEnterCriticalRegionAndAcquireResourceExclusive(IN PERESOURCE Resource)
VOID FASTCALL ExReleaseResourceAndLeaveCriticalRegion(IN PERESOURCE Resource)
BOOLEAN NTAPI ExIsProcessorFeaturePresent(IN ULONG ProcessorFeature)
ULONG NTAPI ExSetTimerResolution(IN ULONG DesiredTime, IN BOOLEAN SetResolution)
PEX_RUNDOWN_REF_CACHE_AWARE NTAPI ExAllocateCacheAwareRundownProtection(IN POOL_TYPE PoolType, IN ULONG Tag)
VOID NTAPI ExInitializeRundownProtectionCacheAware(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware, IN SIZE_T Size)
VOID NTAPI ExFreeCacheAwareRundownProtection(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware)
SIZE_T NTAPI ExSizeOfRundownProtectionCacheAware(VOID)
int __cdecl system(_In_opt_z_ const char *_Command)
base of all file and directory entries
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_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
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_In_ WDFDPC _In_ BOOLEAN Wait
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_opt_ ULONG _Out_ WDFLOOKASIDE * Lookaside
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG PoolTag
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Must_inspect_result_ _In_ WDFCMRESLIST List
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
_In_ WDFTIMER _In_ LONGLONG DueTime
_Must_inspect_result_ _In_ PWDF_WORKITEM_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWORKITEM * WorkItem
VOID NTAPI ExQueueWorkItem(IN PWORK_QUEUE_ITEM WorkItem, IN WORK_QUEUE_TYPE QueueType)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
_Must_inspect_result_ _In_ ULONG Flags
_In_ ERESOURCE_THREAD ResourceThreadId
NTKERNELAPI PSLIST_ENTRY ExpInterlockedFlushSList(_Inout_ PSLIST_HEADER SListHead)
#define ExInterlockedPushEntrySList(SListHead, SListEntry, Lock)
NTKERNELAPI BOOLEAN NTAPI ExSetTimer(_In_ PEX_TIMER Timer, _In_ LONGLONG DueTime, _In_ LONGLONG Period, _In_opt_ PEXT_SET_PARAMETERS Parameters)
FORCEINLINE USHORT ExQueryDepthSList(_In_ PSLIST_HEADER SListHead)
NTKERNELAPI VOID FASTCALL ExReInitializeRundownProtectionCacheAware(_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware)
NTKERNELAPI VOID NTAPI ExDeleteNPagedLookasideList(_Inout_ PNPAGED_LOOKASIDE_LIST Lookaside)
#define ExAllocatePoolWithQuotaTag(a, b, c)
#define ExInterlockedPopEntrySList(SListHead, Lock)
$endif(_WDMDDK_) $if(_NTDDK_) static __inline PVOID ExAllocateFromZone(IN PZONE_HEADER Zone)
_In_opt_ PALLOCATE_FUNCTION Allocate
NTKERNELAPI PLIST_ENTRY FASTCALL ExInterlockedRemoveHeadList(_Inout_ PLIST_ENTRY ListHead, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
_In_opt_ PVOID _In_opt_ PVOID Argument2
FastMutex NTKERNELAPI VOID FASTCALL ExReleaseFastMutex(_Inout_ _Requires_lock_held_(*_Curr_) _Releases_lock_(*_Curr_) PFAST_MUTEX FastMutex)
enum _INTERLOCKED_RESULT INTERLOCKED_RESULT
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionEx(_Inout_ PEX_RUNDOWN_REF RunRef, _In_ ULONG Count)
NTKERNELAPI PLIST_ENTRY FASTCALL ExInterlockedInsertTailList(_Inout_ PLIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PLIST_ENTRY ListEntry, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
NTKERNELAPI PSLIST_ENTRY ExpInterlockedPushEntrySList(_Inout_ PSLIST_HEADER SListHead, _Inout_ __drv_aliasesMem PSLIST_ENTRY SListEntry)
NTKERNELAPI PSINGLE_LIST_ENTRY FASTCALL ExInterlockedPopEntryList(_Inout_ PSINGLE_LIST_ENTRY ListHead, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
#define ExAllocatePoolWithTag(a, b, c)
_In_ POBJECT_ATTRIBUTES _In_ BOOLEAN _In_ BOOLEAN AllowMultipleCallbacks
NTKERNELAPI ULONG FASTCALL ExInterlockedAddUlong(_Inout_ PULONG Addend, _In_ ULONG Increment, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
NTKERNELAPI BOOLEAN NTAPI ExCancelTimer(_Inout_ PEX_TIMER Timer, _In_opt_ PEXT_CANCEL_PARAMETERS Parameters)
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION _In_ ULONG _In_ SIZE_T _In_ ULONG _In_ USHORT Depth
NTKERNELAPI VOID FASTCALL ExWaitForRundownProtectionReleaseCacheAware(IN OUT PEX_RUNDOWN_REF_CACHE_AWARE RunRef)
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionCacheAware(_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware)
NTKERNELAPI BOOLEAN NTAPI ExDeleteTimer(_In_ PEX_TIMER Timer, _In_ BOOLEAN Cancel, _In_ BOOLEAN Wait, _In_opt_ PEXT_DELETE_PARAMETERS Parameters)
_Post_maybenull_ _Must_inspect_result_ _In_ SIZE_T NumberOfBytes
NTKERNELAPI PLIST_ENTRY FASTCALL ExInterlockedInsertHeadList(_Inout_ PLIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PLIST_ENTRY ListEntry, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
NTKERNELAPI PEX_TIMER NTAPI ExAllocateTimer(_In_opt_ PEXT_CALLBACK Callback, _In_opt_ PVOID CallbackContext, _In_ ULONG Attributes)
NTKERNELAPI VOID FASTCALL ExReInitializeRundownProtection(_Inout_ PEX_RUNDOWN_REF RunRef)
NTKERNELAPI PSLIST_ENTRY ExpInterlockedPopEntrySList(_Inout_ PSLIST_HEADER SListHead)
NTKERNELAPI NTSTATUS NTAPI ExInitializeZone(_Out_ PZONE_HEADER Zone, _In_ ULONG BlockSize, _Inout_ PVOID InitialSegment, _In_ ULONG InitialSegmentSize)
NTKERNELAPI LARGE_INTEGER NTAPI ExInterlockedAddLargeInteger(_Inout_ PLARGE_INTEGER Addend, _In_ LARGE_INTEGER Increment, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY ListEnd
$if(_WDMDDK_) _IRQL_raises_(APC_LEVEL) _IRQL_saves_global_(OldIrql
NTKERNELAPI VOID FASTCALL ExRundownCompletedCacheAware(_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware)
FORCEINLINE VOID ExInitializeFastMutex(_Out_ PFAST_MUTEX FastMutex)
_In_ PCALLBACK_FUNCTION _In_opt_ PVOID CallbackContext
_In_ POBJECT_ATTRIBUTES _In_ BOOLEAN Create
NTKERNELAPI BOOLEAN NTAPI ExVerifySuite(__drv_strictTypeMatch(__drv_typeExpr) _In_ SUITE_TYPE SuiteType)
FastMutex NTKERNELAPI VOID FASTCALL ExAcquireFastMutex(_Inout_ _Requires_lock_not_held_(*_Curr_) _Acquires_lock_(*_Curr_) PFAST_MUTEX FastMutex)
_In_ PCALLBACK_FUNCTION CallbackFunction
_Acquires_shared_lock_ _Curr_ PERESOURCE Resource
_Out_ PBOOLEAN QuotaCharged
static __inline PVOID ExFreeToZone(IN PZONE_HEADER Zone, IN PVOID Block)
FORCEINLINE VOID ExInitializeSetTimerParameters(_Out_ PEXT_SET_PARAMETERS Parameters)
_In_ BOOLEAN SetResolution
_Inout_ PVOID _In_ ULONG SegmentSize
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionCacheAwareEx(_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRef, _In_ ULONG Count)
NTKERNELAPI PSINGLE_LIST_ENTRY FASTCALL ExInterlockedPushEntryList(_Inout_ PSINGLE_LIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PSINGLE_LIST_ENTRY ListEntry, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION Free
#define ExInterlockedFlushSList(SListHead)
_Must_inspect_result_ FastMutex NTKERNELAPI BOOLEAN FASTCALL ExTryToAcquireFastMutex(_Inout_ _Requires_lock_not_held_(*_Curr_) _Acquires_lock_(*_Curr_) PFAST_MUTEX FastMutex)
struct _EX_TIMER * PEX_TIMER
CALLBACK_FUNCTION * PCALLBACK_FUNCTION
EXT_CALLBACK * PEXT_CALLBACK
enum _WORK_QUEUE_TYPE WORK_QUEUE_TYPE
enum _EX_POOL_PRIORITY EX_POOL_PRIORITY
ULONG_PTR ERESOURCE_THREAD
enum _SUITE_TYPE SUITE_TYPE
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST * PNPAGED_LOOKASIDE_LIST
struct LOOKASIDE_ALIGN _PAGED_LOOKASIDE_LIST * PPAGED_LOOKASIDE_LIST
#define POOL_QUOTA_FAIL_INSTEAD_OF_RAISE
#define POOL_RAISE_IF_ALLOCATION_FAILURE
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
_In_ LARGE_INTEGER _In_ ULONG Period
@ NonPagedPoolMustSucceed
#define InterlockedPushEntrySList(SListHead, SListEntry)
#define InterlockedPopEntrySList(SListHead)
NTSTATUS NTAPI ExInterlockedExtendZone(PZONE_HEADER Zone, PVOID Segment, ULONG SegmentSize, PKSPIN_LOCK Lock)
NTSTATUS NTAPI ExExtendZone(PZONE_HEADER Zone, PVOID Segment, ULONG SegmentSize)