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_) 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_) 181 ExAllocateFromPagedLookasideList(
188 ExFreeToPagedLookasideList(
197 ExAllocateFromPagedLookasideList(
203 #ifdef NONAMELESSUNION 226 ExFreeToPagedLookasideList(
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;
286 static __inline
PVOID 291 if (Zone->FreeList.Next)
292 Zone->FreeList.Next = Zone->FreeList.Next->Next;
296 static __inline
PVOID 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 353 #define RESULT_ZERO 0 354 #define RESULT_NEGATIVE 1 355 #define RESULT_POSITIVE 2 369 Exfi386InterlockedIncrementLong(
375 Exfi386InterlockedDecrementLong(
381 Exfi386InterlockedExchangeUlong(
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"))
621 ExAllocatePoolUninitialized(
635 "Allocation failures cause a system crash"))
643 ExAllocatePoolQuotaZero (
665 "Allocation failures cause a system crash"))
673 ExAllocatePoolQuotaUninitialized(
687 "Allocation failures cause a system crash"))
695 ExAllocatePoolPriorityZero(
718 "Allocation failures cause a system crash"))
726 ExAllocatePoolPriorityUninitialized(
849 #if !defined(_M_IX86) 850 #define ExInterlockedAddLargeStatistic(Addend, Increment) \ 851 (VOID)InterlockedAdd64(&(Addend)->QuadPart, Increment) 853 #define ExInterlockedAddLargeStatistic(Addend, Increment) \ 854 (VOID)_InterlockedAddLargeStatistic((PLONGLONG)&(Addend)->QuadPart, Increment) 870 ExfInterlockedCompareExchange64(
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) 1001 #endif // NTDDI_WINBLUE 1157 ExAdjustLookasideDepth(
VOID);
1169 #if (NTDDI_VERSION >= NTDDI_WINXP) 1232 #if (NTDDI_VERSION >= NTDDI_WINXPSP2) 1239 ExAcquireRundownProtectionEx(
1252 #if (NTDDI_VERSION >= NTDDI_WS03SP1) 1325 ExAcquireRundownProtectionCacheAware(
1339 ExAcquireRundownProtectionCacheAwareEx(
1370 #if (NTDDI_VERSION >= NTDDI_VISTA) 1376 ExInitializeLookasideListEx(
1390 ExDeleteLookasideListEx(
1397 ExFlushLookasideListEx(
1401 #pragma warning(push) 1402 #pragma warning(disable:__WARNING_MEMORY_NOT_ACQUIRED) 1410 ExAllocateFromLookasideListEx(
1416 #ifdef NONAMELESSUNION 1439 #pragma warning(pop) 1445 ExFreeToLookasideListEx(
1461 #if (NTDDI_VERSION >= NTDDI_WIN7) 1467 ExSetResourceOwnerPointerEx(
1472 #define FLAG_OWNER_POINTER_IS_THREAD 0x1 1482 ExAllocateFromNPagedLookasideList(
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);
1521 ExFreeToNPagedLookasideList(
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);
enum _INTERLOCKED_RESULT INTERLOCKED_RESULT
BOOLEAN NTAPI ExAcquireSharedWaitForExclusive(IN PERESOURCE Resource, IN BOOLEAN Wait)
if(ExQueryDepthSList(&Lookaside->L.ListHead) >=Lookaside->L.Depth)
ULONG NTAPI ExGetExclusiveWaiterCount(IN PERESOURCE Resource)
ULONG_PTR ERESOURCE_THREAD
#define ExInterlockedPushEntrySList(SListHead, SListEntry, Lock)
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION _In_ ULONG _In_ SIZE_T _In_ ULONG _In_ USHORT Depth
#define _Must_inspect_result_
NTKERNELAPI VOID NTAPI ExSystemTimeToLocalTime(_In_ PLARGE_INTEGER SystemTime, _Out_ PLARGE_INTEGER LocalTime)
_IRQL_requires_(APC_LEVEL) _IRQL_restores_global_(OldIrql
VOID NTAPI ExQueueWorkItem(IN PWORK_QUEUE_ITEM WorkItem, IN WORK_QUEUE_TYPE QueueType)
_IRQL_requires_max_(PASSIVE_LEVEL) NTSYSCALLAPI NTSTATUS NTAPI NtCreateEvent(_Out_ PHANDLE EventHandle
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)
NTKERNELAPI PSLIST_ENTRY ExpInterlockedPopEntrySList(_Inout_ PSLIST_HEADER SListHead)
NTSTATUS NTAPI ExReinitializeResourceLite(IN PERESOURCE Resource)
_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
NTKERNELAPI VOID NTAPI ExDeleteNPagedLookasideList(_Inout_ PNPAGED_LOOKASIDE_LIST Lookaside)
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
NTKERNELAPI VOID FASTCALL ExRundownCompleted(_Out_ PEX_RUNDOWN_REF RunRef)
BOOLEAN NTAPI ExIsProcessorFeaturePresent(IN ULONG ProcessorFeature)
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY ListEnd
#define _Interlocked_operand_
#define ExInterlockedFlushSList(SListHead)
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionEx(_Inout_ PEX_RUNDOWN_REF RunRef, _In_ ULONG Count)
_Must_inspect_result_ _Success_(return!=FALSE) _IRQL_raises_(APC_LEVEL) _IRQL_saves_global_(OldIrql
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtection(_Inout_ PEX_RUNDOWN_REF RunRef)
$endif(_WDMDDK_) $if(_NTDDK_) static __inline PVOID ExAllocateFromZone(IN PZONE_HEADER Zone)
_In_ PCALLBACK_FUNCTION _In_opt_ PVOID CallbackContext
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_ WDFDPC _In_ BOOLEAN Wait
VOID NTAPI ExDisableResourceBoostLite(IN PERESOURCE Resource)
#define ExAllocatePoolWithQuotaTag(a, b, c)
NTKERNELAPI VOID FASTCALL ExRundownCompletedCacheAware(_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware)
VOID NTAPI ExConvertExclusiveToSharedLite(IN PERESOURCE Resource)
PVOID NTAPI ExEnterCriticalRegionAndAcquireResourceShared(IN PERESOURCE Resource)
BOOLEAN FASTCALL ExiTryToAcquireFastMutex(PFAST_MUTEX FastMutex)
#define ExAcquireRundownProtection
NTSTATUS ExInitializeResourceLite(PULONG res)
NTSTATUS NTAPI ExDeleteResourceLite(IN PERESOURCE Resource)
#define ExInterlockedPopEntrySList(SListHead, Lock)
_Requires_lock_held_(_Global_critical_region_) _Requires_lock_not_held_(*Resource) _When_(Wait!=0
_Acquires_shared_lock_(Vcb->Resource)) FINISHED FatAcquireSharedVcb(IN PIRP_CONTEXT IrpContext
_In_ LARGE_INTEGER _In_ ULONG Period
IN PVOID IN PVOID IN USHORT IN USHORT Size
NTSTATUS NTAPI ExCreateCallback(OUT PCALLBACK_OBJECT *CallbackObject, IN POBJECT_ATTRIBUTES ObjectAttributes, IN BOOLEAN Create, IN BOOLEAN AllowMultipleCallbacks)
__drv_preferredFunction("ExAllocatePoolWithTag", "No tag interferes with debugging.") __drv_allocatesMem(Mem) _When_((PoolType &PagedPool) !=0
KPROCESSOR_MODE NTAPI ExGetPreviousMode(VOID)
_Acquires_exclusive_lock_(Vcb->Resource)) FINISHED FatAcquireExclusiveVcb_Real(IN PIRP_CONTEXT IrpContext
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 VOID FASTCALL ExInitializeRundownProtection(_Out_ PEX_RUNDOWN_REF RunRef)
FastMutex NTKERNELAPI VOID FASTCALL ExAcquireFastMutex(_Inout_ _Requires_lock_not_held_(*_Curr_) _Acquires_lock_(*_Curr_) PFAST_MUTEX FastMutex)
#define DECLSPEC_NORETURN
_In_ PCALLBACK_FUNCTION CallbackFunction
#define _IRQL_raises_(irql)
_In_opt_ PALLOCATE_FUNCTION Allocate
ULONG NTAPI ExSetTimerResolution(IN ULONG DesiredTime, IN BOOLEAN SetResolution)
VOID FASTCALL ExReleaseFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex)
PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER ListHead)
NTKERNELAPI BOOLEAN NTAPI ExVerifySuite(__drv_strictTypeMatch(__drv_typeExpr) _In_ SUITE_TYPE SuiteType)
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION Free
VOID NTAPI ExFreeCacheAwareRundownProtection(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware)
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST * PNPAGED_LOOKASIDE_LIST
VOID NTAPI ExUnregisterCallback(IN PVOID CallbackRegistrationHandle)
_Acquires_exclusive_lock_ Resource _Post_satisfies_(return==1)) _When_(Wait
FastMutex NTKERNELAPI VOID FASTCALL ExReleaseFastMutex(_Inout_ _Requires_lock_held_(*_Curr_) _Releases_lock_(*_Curr_) PFAST_MUTEX FastMutex)
BOOLEAN NTAPI ExAcquireResourceExclusiveLite(IN PERESOURCE Resource, IN BOOLEAN Wait)
__GNU_EXTENSION typedef __int64 * PLONGLONG
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
struct _EX_TIMER * PEX_TIMER
FORCEINLINE VOID ExInitializeSetTimerParameters(_Out_ PEXT_SET_PARAMETERS Parameters)
enum _EX_POOL_PRIORITY EX_POOL_PRIORITY
#define _Releases_lock_(a)
_Acquires_shared_lock_ _Curr_ PERESOURCE Resource
__drv_allocatesMem(Mem) _When_((PoolType &PagedPool) !=0
VOID NTAPI ExInitializeRundownProtectionCacheAware(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware, IN SIZE_T Size)
_In_ POBJECT_ATTRIBUTES _In_ BOOLEAN _In_ BOOLEAN AllowMultipleCallbacks
NTKERNELAPI VOID FASTCALL ExReInitializeRundownProtectionCacheAware(_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware)
NTKERNELAPI PSINGLE_LIST_ENTRY FASTCALL ExInterlockedPopEntryList(_Inout_ PSINGLE_LIST_ENTRY ListHead, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
BOOLEAN NTAPI ExIsResourceAcquiredExclusiveLite(IN PERESOURCE Resource)
_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
NTKERNELAPI PEX_TIMER NTAPI ExAllocateTimer(_In_opt_ PEXT_CALLBACK Callback, _In_opt_ PVOID CallbackContext, _In_ ULONG Attributes)
VOID NTAPI ExDeletePagedLookasideList(IN PPAGED_LOOKASIDE_LIST Lookaside)
#define ExInitializePushLock
NTKERNELAPI VOID FASTCALL ExWaitForRundownProtectionReleaseCacheAware(IN OUT PEX_RUNDOWN_REF_CACHE_AWARE RunRef)
NTKERNELAPI NTSTATUS ExUuidCreate(OUT UUID *Uuid)
NTKERNELAPI VOID FASTCALL ExWaitForRundownProtectionRelease(_Inout_ PEX_RUNDOWN_REF RunRef)
int __cdecl system(_In_opt_z_ const char *_Command)
_In_ __drv_freesMem(Entry) PVOID Entry)
_Must_inspect_result_ FastMutex NTKERNELAPI BOOLEAN FASTCALL ExTryToAcquireFastMutex(_Inout_ _Requires_lock_not_held_(*_Curr_) _Acquires_lock_(*_Curr_) PFAST_MUTEX FastMutex)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
#define _Requires_lock_not_held_(a)
VOID NTAPI ExNotifyCallback(IN PCALLBACK_OBJECT CallbackObject, IN PVOID Argument1, IN PVOID Argument2)
ULONG NTAPI ExGetSharedWaiterCount(IN PERESOURCE Resource)
__drv_reportError("Must succeed pool allocations are forbidden. " "Allocation failures cause a system crash")) _When_((PoolType &(NonPagedPoolMustSucceed|POOL_RAISE_IF_ALLOCATION_FAILURE))
NTKERNELAPI VOID FASTCALL ExReInitializeRundownProtection(_Inout_ PEX_RUNDOWN_REF RunRef)
_Must_inspect_result_ _In_ ULONG Flags
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)
_Out_ PBOOLEAN QuotaCharged
VOID FASTCALL ExAcquireFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex)
_Post_maybenull_ _Must_inspect_result_ _When_((PoolType &(NonPagedPoolMustSucceed|POOL_RAISE_IF_ALLOCATION_FAILURE)) !=0, _Post_notnull_) _Post_writable_byte_size_(NumberOfBytes) NTKERNELAPI PVOID NTAPI ExAllocatePool(__drv_strictTypeMatch(__drv_typeExpr) _In_ POOL_TYPE PoolType
SIZE_T NTAPI ExSizeOfRundownProtectionCacheAware(VOID)
NTKERNELAPI BOOLEAN NTAPI ExDeleteTimer(_In_ PEX_TIMER Timer, _In_ BOOLEAN Cancel, _In_ BOOLEAN Wait, _In_opt_ PEXT_DELETE_PARAMETERS Parameters)
FORCEINLINE VOID ExInitializeFastMutex(_Out_ PFAST_MUTEX FastMutex)
NTKERNELAPI PLIST_ENTRY FASTCALL ExInterlockedRemoveHeadList(_Inout_ PLIST_ENTRY ListHead, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
FORCEINLINE USHORT ExQueryDepthSList(_In_ PSLIST_HEADER SListHead)
_Post_maybenull_ _Must_inspect_result_ _In_ SIZE_T NumberOfBytes
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
NTKERNELAPI ULONG FASTCALL ExInterlockedAddUlong(_Inout_ PULONG Addend, _In_ ULONG Increment, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG PoolTag
PSLIST_ENTRY FASTCALL InterlockedPushListSList(_Inout_ PSLIST_HEADER ListHead, _Inout_ __drv_aliasesMem PSLIST_ENTRY List, _Inout_ PSLIST_ENTRY ListEnd, _In_ ULONG Count)
_In_ ERESOURCE_THREAD ResourceThreadId
VOID NTAPI ExRaiseAccessViolation(VOID)
NTKERNELAPI BOOLEAN NTAPI ExSetTimer(_In_ PEX_TIMER Timer, _In_ LONGLONG DueTime, _In_ LONGLONG Period, _In_opt_ PEXT_SET_PARAMETERS Parameters)
enum _WORK_QUEUE_TYPE WORK_QUEUE_TYPE
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
#define _IRQL_restores_global_(kind, param)
static __inline PVOID ExFreeToZone(IN PZONE_HEADER Zone, IN PVOID Block)
VOID NTAPI ExRaiseDatatypeMisalignment(VOID)
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
#define ExAllocatePoolWithTag(a, b, c)
NTKERNELAPI VOID NTAPI ExLocalTimeToSystemTime(_In_ PLARGE_INTEGER LocalTime, _Out_ PLARGE_INTEGER SystemTime)
#define ExAllocatePool(type, size)
NTKERNELAPI BOOLEAN NTAPI ExCancelTimer(_Inout_ PEX_TIMER Timer, _In_opt_ PEXT_CANCEL_PARAMETERS Parameters)
_Must_inspect_result_ _In_ WDFCMRESLIST List
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes
_Inout_ PVOID _In_ ULONG SegmentSize
VOID FASTCALL ExReleaseResourceAndLeaveCriticalRegion(IN PERESOURCE Resource)
NTSTATUS NTAPI ExInterlockedExtendZone(PZONE_HEADER Zone, PVOID Segment, ULONG SegmentSize, PKSPIN_LOCK Lock)
PEX_RUNDOWN_REF_CACHE_AWARE NTAPI ExAllocateCacheAwareRundownProtection(IN POOL_TYPE PoolType, IN ULONG Tag)
NTKERNELAPI PSLIST_ENTRY FASTCALL InterlockedPushEntrySList(IN PSLIST_HEADER ListHead, IN PSLIST_ENTRY ListEntry)
#define _Function_class_(n)
VOID NTAPI ExSetResourceOwnerPointer(IN PERESOURCE Resource, IN PVOID OwnerPointer)
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionCacheAware(_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware)
PVOID NTAPI ExAllocatePoolWithQuota(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes)
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
PVOID NTAPI ExEnterCriticalRegionAndAcquireSharedWaitForExclusive(IN PERESOURCE Resource)
EXT_CALLBACK * PEXT_CALLBACK
BOOLEAN NTAPI ExAcquireSharedStarveExclusive(IN PERESOURCE Resource, IN BOOLEAN Wait)
struct _SINGLE_LIST_ENTRY * PSINGLE_LIST_ENTRY
_In_ BOOLEAN SetResolution
NTKERNELAPI PLIST_ENTRY FASTCALL ExInterlockedInsertHeadList(_Inout_ PLIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PLIST_ENTRY ListEntry, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
#define KeInitializeEvent(pEvt, foo, foo2)
NTKERNELAPI PSLIST_ENTRY ExpInterlockedFlushSList(_Inout_ PSLIST_HEADER SListHead)
CALLBACK_FUNCTION * PCALLBACK_FUNCTION
_In_opt_ PVOID _In_opt_ PVOID Argument2
SIZE_T NTAPI ExQueryPoolBlockSize(IN PVOID PoolBlock, OUT PBOOLEAN QuotaCharged)
#define _Post_writable_byte_size_(s)
PVOID NTAPI ExAllocatePoolWithTagPriority(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes, IN ULONG Tag, IN EX_POOL_PRIORITY Priority)
NTKERNELAPI LARGE_INTEGER NTAPI ExInterlockedAddLargeInteger(_Inout_ PLARGE_INTEGER Addend, _In_ LARGE_INTEGER Increment, _Inout_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock)
NTKERNELAPI PSLIST_ENTRY ExpInterlockedPushEntrySList(_Inout_ PSLIST_HEADER SListHead, _Inout_ __drv_aliasesMem PSLIST_ENTRY SListEntry)
_In_ WDFTIMER _In_ LONGLONG DueTime
enum _SUITE_TYPE SUITE_TYPE
BOOLEAN NTAPI ExAcquireResourceSharedLite(IN PERESOURCE Resource, IN BOOLEAN Wait)
$if(_WDMDDK_) _IRQL_raises_(APC_LEVEL) _IRQL_saves_global_(OldIrql
NTKERNELAPI NTSTATUS NTAPI ExInitializeZone(_Out_ PZONE_HEADER Zone, _In_ ULONG BlockSize, _Inout_ PVOID InitialSegment, _In_ ULONG InitialSegmentSize)
PVOID NTAPI ExRegisterCallback(IN PCALLBACK_OBJECT CallbackObject, IN PCALLBACK_FUNCTION CallbackFunction, IN PVOID CallbackContext)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
PVOID NTAPI ExEnterCriticalRegionAndAcquireResourceExclusive(IN PERESOURCE Resource)
ULONG NTAPI ExIsResourceAcquiredSharedLite(IN PERESOURCE Resource)
#define RtlZeroMemory(Destination, Length)
VOID NTAPI ExReleaseResourceForThreadLite(IN PERESOURCE Resource, IN ERESOURCE_THREAD Thread)
#define POOL_QUOTA_FAIL_INSTEAD_OF_RAISE
#define POOL_RAISE_IF_ALLOCATION_FAILURE
#define ExFreePoolWithTag(_P, _T)
GLboolean GLboolean GLboolean GLboolean a
_Must_inspect_result_ _In_ PWDF_WORKITEM_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWORKITEM * WorkItem
#define _Acquires_lock_(lock)
struct LOOKASIDE_ALIGN _PAGED_LOOKASIDE_LIST * PPAGED_LOOKASIDE_LIST
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG Increment
NTKERNELAPI VOID FASTCALL ExReleaseRundownProtectionCacheAwareEx(_Inout_ PEX_RUNDOWN_REF_CACHE_AWARE RunRef, _In_ ULONG Count)
NTSTATUS NTAPI ExExtendZone(PZONE_HEADER Zone, PVOID Segment, ULONG SegmentSize)
base of all file and directory entries
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA _In_ PFLT_DEFERRED_IO_WORKITEM_ROUTINE _In_ WORK_QUEUE_TYPE QueueType
#define _IRQL_saves_global_(kind, param)
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Post_maybenull_ _Must_inspect_result_ _In_ SIZE_T _In_ ULONG _In_ __drv_strictTypeMatch(__drv_typeExpr) EX_POOL_PRIORITY Priority)