Defines |
| #define | NDEBUG |
| #define | IsExclusiveWaiting(r) (r->NumberOfExclusiveWaiters > 0) |
| #define | IsSharedWaiting(r) (r->NumberOfSharedWaiters > 0) |
| #define | IsOwnedExclusive(r) (r->Flag & ResourceOwnedExclusive) |
| #define | IsBoostAllowed(r) (!(r->Flag & ResourceHasDisabledPriorityBoost)) |
| #define | ExpVerifyResource(r) |
| #define | ExpCheckForApcsDisabled(b, r, t) |
Functions |
| FORCEINLINE VOID | ExAcquireResourceLock (IN PERESOURCE Resource, IN PKLOCK_QUEUE_HANDLE LockHandle) |
| FORCEINLINE VOID | ExReleaseResourceLock (IN PERESOURCE Resource, IN PKLOCK_QUEUE_HANDLE LockHandle) |
| VOID NTAPI INIT_FUNCTION | ExpResourceInitialization (VOID) |
| VOID NTAPI | ExpAllocateExclusiveWaiterEvent (IN PERESOURCE Resource, IN PKLOCK_QUEUE_HANDLE LockHandle) |
| VOID NTAPI | ExpAllocateSharedWaiterSemaphore (IN PERESOURCE Resource, IN PKLOCK_QUEUE_HANDLE LockHandle) |
| VOID NTAPI | ExpExpandResourceOwnerTable (IN PERESOURCE Resource, IN PKLOCK_QUEUE_HANDLE LockHandle) |
| POWNER_ENTRY FASTCALL | ExpFindFreeEntry (IN PERESOURCE Resource, IN PKLOCK_QUEUE_HANDLE LockHandle) |
| POWNER_ENTRY FASTCALL | ExpFindEntryForThread (IN PERESOURCE Resource, IN ERESOURCE_THREAD Thread, IN PKLOCK_QUEUE_HANDLE LockHandle, IN BOOLEAN FirstEntryInelligible) |
| VOID FASTCALL | ExpBoostOwnerThread (IN PKTHREAD Thread, IN PKTHREAD OwnerThread) |
| VOID FASTCALL | ExpWaitForResource (IN PERESOURCE Resource, IN PVOID Object) |
| BOOLEAN NTAPI | ExAcquireResourceExclusiveLite (IN PERESOURCE Resource, IN BOOLEAN Wait) |
| BOOLEAN NTAPI | ExAcquireResourceSharedLite (IN PERESOURCE Resource, IN BOOLEAN Wait) |
| BOOLEAN NTAPI | ExAcquireSharedStarveExclusive (IN PERESOURCE Resource, IN BOOLEAN Wait) |
| BOOLEAN NTAPI | ExAcquireSharedWaitForExclusive (IN PERESOURCE Resource, IN BOOLEAN Wait) |
| VOID NTAPI | ExConvertExclusiveToSharedLite (IN PERESOURCE Resource) |
| NTSTATUS NTAPI | ExDeleteResourceLite (IN PERESOURCE Resource) |
| VOID NTAPI | ExDisableResourceBoostLite (IN PERESOURCE Resource) |
| ULONG NTAPI | ExGetExclusiveWaiterCount (IN PERESOURCE Resource) |
| ULONG NTAPI | ExGetSharedWaiterCount (IN PERESOURCE Resource) |
| NTSTATUS NTAPI | ExInitializeResourceLite (IN PERESOURCE Resource) |
| BOOLEAN NTAPI | ExIsResourceAcquiredExclusiveLite (IN PERESOURCE Resource) |
| ULONG NTAPI | ExIsResourceAcquiredSharedLite (IN PERESOURCE Resource) |
| NTSTATUS NTAPI | ExReinitializeResourceLite (IN PERESOURCE Resource) |
| VOID FASTCALL | ExReleaseResourceLite (IN PERESOURCE Resource) |
| VOID NTAPI | ExReleaseResourceForThreadLite (IN PERESOURCE Resource, IN ERESOURCE_THREAD Thread) |
| VOID NTAPI | ExSetResourceOwnerPointer (IN PERESOURCE Resource, IN PVOID OwnerPointer) |
| BOOLEAN NTAPI | ExTryToAcquireResourceExclusiveLite (IN PERESOURCE Resource) |
| PVOID NTAPI | ExEnterCriticalRegionAndAcquireResourceExclusive (IN PERESOURCE Resource) |
| PVOID NTAPI | ExEnterCriticalRegionAndAcquireResourceShared (IN PERESOURCE Resource) |
| PVOID NTAPI | ExEnterCriticalRegionAndAcquireSharedWaitForExclusive (IN PERESOURCE Resource) |
| VOID FASTCALL | ExReleaseResourceAndLeaveCriticalRegion (IN PERESOURCE Resource) |
Variables |
| LARGE_INTEGER | ExShortTime = {{-100000, -1}} |
| LARGE_INTEGER | ExpTimeout |
| ULONG | ExpResourceTimeoutCount = 90 * 3600 / 2 |
| KSPIN_LOCK | ExpResourceSpinLock |
| LIST_ENTRY | ExpSystemResourcesList |
| BOOLEAN | ExResourceStrict = TRUE |