#include "exp.h"
#include <nturtl.h>
Go to the source code of this file.
Defines | |
#define | ASSERT_RESOURCE(_Resource) |
#define | ExclusiveWaiter 0x01 |
#define | SharedWaiter 0x02 |
#define | DisablePriorityBoost 0x08 |
#define | CounterShiftBit 0x04 |
#define | IsExclusiveWaiting(a) (((a)->Flag & ExclusiveWaiter) != 0) |
#define | IsOwnedExclusive(a) (((a)->Flag & ResourceOwnedExclusive) != 0) |
#define | IsOwnedExclusive(a) (((a)->Flag & ResourceOwnedExclusive) != 0) |
#define | IsBoostAllowed(a) (((a)->Flag & DisablePriorityBoost) == 0) |
#define | AcquireResourceLock(_Resource, _Irql) |
#define | ReleaseResourceLock(_Resource, _Irql) |
#define | INITIAL_TABLE_SIZE 4 |
#define | WaitForResourceExclusive(_Resource, _OldIrql) |
#define | WakeExclusiveWaiters(_Resource) |
Functions | |
VOID | ExpWaitForResourceDdk (IN PNTDDK_ERESOURCE Resource, IN PVOID Object) |
NTSTATUS | ExInitializeResource (IN PNTDDK_ERESOURCE Resource) |
BOOLEAN | ExAcquireResourceExclusive (IN PNTDDK_ERESOURCE Resource, IN BOOLEAN Wait) |
VOID | ExReleaseResourceForThread (IN PNTDDK_ERESOURCE Resource, IN ERESOURCE_THREAD OurThread) |
NTSTATUS | ExDeleteResource (IN PNTDDK_ERESOURCE Resource) |
Variables | |
LARGE_INTEGER | ExpTimeout |
ULONG | ExpResourceTimeoutCount |
KSPIN_LOCK | ExpResourceSpinLock |
LIST_ENTRY | ExpSystemResourcesList |
|
Value:
Definition at line 115 of file ddkresrc.c. Referenced by ExAcquireResourceExclusive(), ExpWaitForResourceDdk(), and ExReleaseResourceForThread(). |
|
|
Definition at line 86 of file ddkresrc.c. |
|
Definition at line 80 of file ddkresrc.c. Referenced by ExDisableResourceBoostLite(). |
|
Definition at line 77 of file ddkresrc.c. |
|
Definition at line 124 of file ddkresrc.c. Referenced by ExInitializeResource(). |
|
Definition at line 92 of file ddkresrc.c. Referenced by ExpWaitForResource(), and ExpWaitForResourceDdk(). |
|
Definition at line 89 of file ddkresrc.c. Referenced by ExAcquireResourceSharedLite(), ExAcquireSharedWaitForExclusive(), ExDeleteResource(), ExDeleteResourceLite(), ExpWaitForResource(), ExpWaitForResourceDdk(), ExReleaseResourceForThread(), ExReleaseResourceForThreadLite(), and ExReleaseResourceLite(). |
|
Definition at line 91 of file ddkresrc.c. |
|
|
Value:
Definition at line 120 of file ddkresrc.c. Referenced by ExAcquireResourceExclusive(), ExpWaitForResourceDdk(), and ExReleaseResourceForThread(). |
|
Definition at line 78 of file ddkresrc.c. |
|
Value:
Definition at line 126 of file ddkresrc.c. Referenced by ExAcquireResourceExclusive(). |
|
Value:
Definition at line 137 of file ddkresrc.c. Referenced by ExReleaseResourceForThread(). |
|
Definition at line 249 of file ddkresrc.c. References AcquireResourceLock, _ERESOURCE::ActiveCount, ASSERT, ASSERTMSG, ERESOURCE_THREAD, ExGetCurrentResourceThread, FALSE, _ERESOURCE::Flag, IsOwnedExclusive, _ERESOURCE::OwnerThreads, ReleaseResourceLock, Resource, ResourceNeverExclusive, ResourceOwnedExclusive, TRUE, and WaitForResourceExclusive.
|
|
Definition at line 422 of file ddkresrc.c. References ASSERT, ASSERT_RESOURCE, ASSERTMSG, ExpResourceSpinLock, IsExclusiveWaiting, Resource, and _ERESOURCE::SystemResourcesList.
|
|
Definition at line 172 of file ddkresrc.c. References _ERESOURCE::ActiveCount, ASSERTMSG, _ERESOURCE::ContentionCount, _ERESOURCE::CreatorBackTraceIndex, _ERESOURCE::ExclusiveWaiters, ExInterlockedInsertTailList(), ExpResourceSpinLock, ExpSystemResourcesList, FALSE, _ERESOURCE::Flag, INITIAL_TABLE_SIZE, KeInitializeEvent, KeInitializeSemaphore(), KeInitializeSpinLock(), MmDeterminePoolType(), NonPagedPool, NtGlobalFlag, _ERESOURCE::NumberOfExclusiveWaiters, _ERESOURCE::NumberOfSharedWaiters, _ERESOURCE::OwnerThreads, Resource, _ERESOURCE::SharedWaiters, _ERESOURCE::SpinLock, and _ERESOURCE::SystemResourcesList.
|
|
Definition at line 463 of file ddkresrc.c. References AcquireResourceLock, _ERESOURCE::ActiveCount, ASSERT, _ERESOURCE::ContentionCount, DbgPrint, ERESOURCE_INCREMENT, Executive, ExpResourceTimeoutCount, ExpTimeout, FALSE, IsBoostAllowed, IsExclusiveWaiting, IsOwnedExclusive, KeBoostPriorityThread(), KernelMode, KeWaitForSingleObject(), NT_SUCCESS, NTSTATUS(), _ERESOURCE::NumberOfExclusiveWaiters, _ERESOURCE::OwnerThreads, ReleaseResourceLock, Resource, and Status.
|
|
Definition at line 342 of file ddkresrc.c. References AcquireResourceLock, _ERESOURCE::ActiveCount, ASSERT, _ERESOURCE::Flag, IsExclusiveWaiting, _ERESOURCE::OwnerThreads, ReleaseResourceLock, Resource, ResourceOwnedExclusive, and WakeExclusiveWaiters.
|
|
Definition at line 99 of file ddkresrc.c. Referenced by ExDeleteResource(), and ExInitializeResource(). |
|
Definition at line 41 of file ddkresrc.c. |
|
Definition at line 157 of file ddkresrc.c. Referenced by ExInitializeResource(), ExInitializeResourceLite(), ExpCheckForResource(), ExpResourceInitialization(), and ExQuerySystemLockInformation(). |
|
Definition at line 35 of file ddkresrc.c. Referenced by ExpResourceInitialization(), ExpWaitForResource(), and ExpWaitForResourceDdk(). |