BOOLEAN Wait
);
BOOLEAN
+FASTCALL
+ExAcquireRundownProtection (
+ IN PEX_RUNDOWN_REF RunRef
+ );
+BOOLEAN
+FASTCALL
+ExAcquireRundownProtectionEx (
+ IN PEX_RUNDOWN_REF RunRef,
+ IN ULONG Count
+ );
+PVOID
+FASTCALL
+ExfAcquirePushLockExclusive (
+ PVOID Lock
+ );
+PVOID
+FASTCALL
+ExfAcquirePushLockShared (
+ PVOID Lock
+ );
+PVOID
+FASTCALL
+ExfReleasePushLock (
+ PVOID Lock
+ );
+BOOLEAN
STDCALL
ExAcquireSharedStarveExclusive (
PERESOURCE Resource,
IN ULONG Tag
);
+PVOID
+NTAPI
+ExAllocatePoolWithTagPriority(
+ IN POOL_TYPE PoolType,
+ IN SIZE_T NumberOfBytes,
+ IN ULONG Tag,
+ IN EX_POOL_PRIORITY Priority
+ );
+
VOID
STDCALL
ExConvertExclusiveToSharedLite (
PERESOURCE Resource
);
+VOID
+STDCALL
+ExEnumHandleTable (
+ PULONG HandleTable,
+ PVOID Callback,
+ PVOID Param,
+ PHANDLE Handle OPTIONAL
+ );
+
NTSTATUS
STDCALL
ExExtendZone (
#define ExGetCurrentResourceThread() \
((ERESOURCE_THREAD)KeGetCurrentThread())
+LONGLONG
+FASTCALL
+ExfInterlockedCompareExchange64(
+ IN OUT LONGLONG volatile *Destination,
+ IN PLONGLONG ExChange,
+ IN PLONGLONG Comperand
+ );
+
+VOID
+STDCALL
+ExGetCurrentProcessorCounts (
+ PULONG ThreadKernelTime,
+ PULONG TotalCpuTime,
+ PULONG ProcessorNumber
+);
+
+VOID
+STDCALL
+ExGetCurrentProcessorCpuUsage (
+ PULONG CpuUsage
+ );
+
ULONG
STDCALL
ExGetExclusiveWaiterCount (
PERESOURCE Resource
);
-ULONG
+KPROCESSOR_MODE
STDCALL
ExGetPreviousMode (
VOID
PERESOURCE Resource
);
+VOID
+FASTCALL
+ExInitializeRundownProtection (
+ IN PEX_RUNDOWN_REF RunRef
+ );
+
/*
* VOID
* ExInitializeSListHead (
ASSERT_IRQL(DISPATCH_LEVEL); \
(Item)->WorkerRoutine = (Routine); \
(Item)->Parameter = (RoutineContext); \
- (Item)->List.Flink = NULL; \
- (Item)->List.Blink = NULL;
+ (Item)->List.Flink = NULL;
NTSTATUS
STDCALL
);
ULONG
-FASTCALL
+STDCALL
ExInterlockedAddUlong (
PULONG Addend,
ULONG Increment,
PLONG Addend,
PKSPIN_LOCK Lock
);
+
ULONG
STDCALL
ExInterlockedExchangeUlong (
ULONG Value,
PKSPIN_LOCK Lock
);
+
NTSTATUS
STDCALL
ExInterlockedExtendZone (
PKSPIN_LOCK Lock
);
+PSLIST_ENTRY
+FASTCALL
+ExInterlockedFlushSList (
+ IN PSLIST_HEADER ListHead
+ );
+
/*
* PVOID
* ExInterlockedFreeToZone (
PKSPIN_LOCK Lock
);
PLIST_ENTRY
-FASTCALL
+STDCALL
ExInterlockedInsertHeadList (
PLIST_ENTRY ListHead,
PLIST_ENTRY ListEntry,
PKSPIN_LOCK Lock
);
PLIST_ENTRY
-FASTCALL
+STDCALL
ExInterlockedInsertTailList (
PLIST_ENTRY ListHead,
PLIST_ENTRY ListEntry,
PKSPIN_LOCK Lock
);
PSINGLE_LIST_ENTRY
-FASTCALL
+STDCALL
ExInterlockedPopEntryList (
PSINGLE_LIST_ENTRY ListHead,
PKSPIN_LOCK Lock
PKSPIN_LOCK Lock
);
PSINGLE_LIST_ENTRY
-FASTCALL
+STDCALL
ExInterlockedPushEntryList (
PSINGLE_LIST_ENTRY ListHead,
PSINGLE_LIST_ENTRY ListEntry,
PSINGLE_LIST_ENTRY ListEntry,
PKSPIN_LOCK Lock
);
-
-VOID
-ExInterlockedRemoveEntryList (
- PLIST_ENTRY ListHead,
- PLIST_ENTRY Entry,
- PKSPIN_LOCK Lock
- );
-
PLIST_ENTRY
-FASTCALL
+STDCALL
ExInterlockedRemoveHeadList (
PLIST_ENTRY Head,
PKSPIN_LOCK Lock
PWORK_QUEUE_ITEM WorkItem,
WORK_QUEUE_TYPE QueueType
);
+
+SIZE_T
+STDCALL
+ExQueryPoolBlockSize (
+ IN PVOID PoolBlock,
+ OUT PBOOLEAN QuotaCharged
+ );
+
VOID
STDCALL
ExRaiseAccessViolation (
ExRaiseStatus (
NTSTATUS Status
);
+VOID
+STDCALL
+ExRaiseException (
+ PEXCEPTION_RECORD pExcptRec
+ );
+VOID
+STDCALL
+ExRaiseHardError (
+ IN NTSTATUS ErrorStatus,
+ IN ULONG NumberOfParameters,
+ IN PUNICODE_STRING UnicodeStringParameterMask OPTIONAL,
+ IN PVOID *Parameters,
+ IN HARDERROR_RESPONSE_OPTION ResponseOption,
+ OUT PHARDERROR_RESPONSE Response
+ );
PVOID
STDCALL
ExReinitializeResourceLite (
PERESOURCE Resource
);
+VOID
+FASTCALL
+ExReInitializeRundownProtection (
+ IN PEX_RUNDOWN_REF RunRef
+ );
+
/* ReactOS Specific: begin */
VOID
FASTCALL
PERESOURCE Resource,
ERESOURCE_THREAD ResourceThreadId
);
-
+VOID
+FASTCALL
+ExReleaseRundownProtection (
+ IN PEX_RUNDOWN_REF RunRef
+ );
+VOID
+FASTCALL
+ExReleaseRundownProtectionEx (
+ IN PEX_RUNDOWN_REF RunRef,
+ IN ULONG Count
+ );
+/* ReactOS Specific: begin */
+VOID STDCALL
+ExRosDumpPagedPoolByTag (
+ IN ULONG Tag
+ );
+ULONG STDCALL
+ExRosQueryPoolTag (
+ IN PVOID Block
+ );
+/* ReactOS Specific: end */
+VOID
+FASTCALL
+ExRundownCompleted (
+ IN PEX_RUNDOWN_REF RunRef
+ );
VOID
STDCALL
ExSetResourceOwnerPointer (
IN PVOID OwnerPointer
);
+VOID
+STDCALL
+ExSetTimerResolution (
+ IN ULONG DesiredTime,
+ IN BOOLEAN SetResolution
+ );
+
+BOOLEAN
+STDCALL
+ExVerifySuite(
+ SUITE_TYPE SuiteType
+ );
+
+BOOLEAN
+STDCALL
+ExSystemExceptionFilter();
+
VOID
STDCALL
ExSystemTimeToLocalTime (
IN PVOID CallbackRegistration
);
+typedef GUID UUID;
+
+NTSTATUS
+STDCALL
+ExUuidCreate(
+ OUT UUID *Uuid
+ );
+
+VOID
+FASTCALL
+ExWaitForRundownProtectionRelease (
+ IN PEX_RUNDOWN_REF RunRef
+ );
+
PSLIST_ENTRY
FASTCALL
InterlockedPopEntrySList (
);
#ifndef InterlockedExchangePointer
-#define InterlockedExchangePointer(__T__, __V__) \
- (PVOID)InterlockedExchange((PLONG)(__T__), (LONG)(__V__))
+# ifdef _WIN64
+# define InterlockedExchangePointer(__T__, __V__) \
+ (PVOID)InterlockedExchange64((PLONGLONG)(__T__), (LONGLONG)(__V__))
+# else
+# define InterlockedExchangePointer(__T__, __V__) \
+ (PVOID)InterlockedExchange((PLONG)(__T__), (LONG)(__V__))
+# endif
+#endif
+
+#ifndef InterlockedCompareExchangePointer
+# ifdef _WIN64
+# define InterlockedCompareExchangePointer(__T__, __V__, __C__) \
+ (PVOID)InterlockedCompareExchange64((PLONGLONG)(__T__), (LONGLONG)(__V__), (LONGLONG)(__C__))
+# else
+# define InterlockedCompareExchangePointer(__T__, __V__, __C__) \
+ (PVOID)InterlockedCompareExchange((PLONG)(__T__), (LONG)(__V__), (LONG)(__C__))
+# endif
#endif
/*---*/
typedef
unsigned int
-(exception_hook) (
+(*exception_hook) (
CONTEXT * c,
unsigned int exp
);