mirror of
https://github.com/reactos/reactos.git
synced 2025-05-08 03:07:05 +00:00
Silence compiler warnings (2/11).
svn path=/trunk/; revision=37824
This commit is contained in:
parent
5148a03069
commit
44c8aa557c
9 changed files with 131 additions and 125 deletions
|
@ -9,8 +9,8 @@
|
||||||
//
|
//
|
||||||
// Returns whether or not this is a small valued key
|
// Returns whether or not this is a small valued key
|
||||||
//
|
//
|
||||||
BOOLEAN
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
BOOLEAN
|
||||||
CmpIsKeyValueSmall(OUT PULONG RealLength,
|
CmpIsKeyValueSmall(OUT PULONG RealLength,
|
||||||
IN ULONG Length)
|
IN ULONG Length)
|
||||||
{
|
{
|
||||||
|
@ -30,8 +30,8 @@ CmpIsKeyValueSmall(OUT PULONG RealLength,
|
||||||
//
|
//
|
||||||
// Returns whether or not this is a big valued key
|
// Returns whether or not this is a big valued key
|
||||||
//
|
//
|
||||||
BOOLEAN
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
BOOLEAN
|
||||||
CmpIsKeyValueBig(IN PHHIVE Hive,
|
CmpIsKeyValueBig(IN PHHIVE Hive,
|
||||||
IN ULONG Length)
|
IN ULONG Length)
|
||||||
{
|
{
|
||||||
|
|
|
@ -431,8 +431,8 @@ ExSystemExceptionFilter(VOID);
|
||||||
|
|
||||||
/* CALLBACKS *****************************************************************/
|
/* CALLBACKS *****************************************************************/
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ExDoCallBack(IN OUT PEX_CALLBACK Callback,
|
ExDoCallBack(IN OUT PEX_CALLBACK Callback,
|
||||||
IN PVOID Context,
|
IN PVOID Context,
|
||||||
IN PVOID Argument1,
|
IN PVOID Argument1,
|
||||||
|
@ -462,7 +462,7 @@ ExDoCallBack(IN OUT PEX_CALLBACK Callback,
|
||||||
#define ExpChangeRundown(x, y, z) InterlockedCompareExchange64((PLONGLONG)x, y, z)
|
#define ExpChangeRundown(x, y, z) InterlockedCompareExchange64((PLONGLONG)x, y, z)
|
||||||
#define ExpSetRundown(x, y) InterlockedExchange64((PLONGLONG)x, y)
|
#define ExpSetRundown(x, y) InterlockedExchange64((PLONGLONG)x, y)
|
||||||
#else
|
#else
|
||||||
#define ExpChangeRundown(x, y, z) InterlockedCompareExchange((PLONG)x, PtrToLong(y), PtrToLong(z))
|
#define ExpChangeRundown(x, y, z) PtrToUlong(InterlockedCompareExchange((PLONG)x, PtrToLong(y), PtrToLong(z)))
|
||||||
#define ExpChangePushlock(x, y, z) LongToPtr(InterlockedCompareExchange((PLONG)x, PtrToLong(y), PtrToLong(z)))
|
#define ExpChangePushlock(x, y, z) LongToPtr(InterlockedCompareExchange((PLONG)x, PtrToLong(y), PtrToLong(z)))
|
||||||
#define ExpSetRundown(x, y) InterlockedExchange((PLONG)x, y)
|
#define ExpSetRundown(x, y) InterlockedExchange((PLONG)x, y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -484,8 +484,8 @@ ExDoCallBack(IN OUT PEX_CALLBACK Callback,
|
||||||
* function.
|
* function.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
BOOLEAN
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
BOOLEAN
|
||||||
_ExAcquireRundownProtection(IN PEX_RUNDOWN_REF RunRef)
|
_ExAcquireRundownProtection(IN PEX_RUNDOWN_REF RunRef)
|
||||||
{
|
{
|
||||||
ULONG_PTR Value, NewValue;
|
ULONG_PTR Value, NewValue;
|
||||||
|
@ -525,8 +525,8 @@ _ExAcquireRundownProtection(IN PEX_RUNDOWN_REF RunRef)
|
||||||
* function.
|
* function.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
_ExReleaseRundownProtection(IN PEX_RUNDOWN_REF RunRef)
|
_ExReleaseRundownProtection(IN PEX_RUNDOWN_REF RunRef)
|
||||||
{
|
{
|
||||||
ULONG_PTR Value, NewValue;
|
ULONG_PTR Value, NewValue;
|
||||||
|
@ -568,8 +568,8 @@ _ExReleaseRundownProtection(IN PEX_RUNDOWN_REF RunRef)
|
||||||
* @remarks This is the internal macro for system use only.
|
* @remarks This is the internal macro for system use only.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
_ExInitializeRundownProtection(IN PEX_RUNDOWN_REF RunRef)
|
_ExInitializeRundownProtection(IN PEX_RUNDOWN_REF RunRef)
|
||||||
{
|
{
|
||||||
/* Set the count to zero */
|
/* Set the count to zero */
|
||||||
|
@ -592,8 +592,8 @@ _ExInitializeRundownProtection(IN PEX_RUNDOWN_REF RunRef)
|
||||||
* necessary, then the slow path is taken through the exported function.
|
* necessary, then the slow path is taken through the exported function.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
_ExWaitForRundownProtectionRelease(IN PEX_RUNDOWN_REF RunRef)
|
_ExWaitForRundownProtectionRelease(IN PEX_RUNDOWN_REF RunRef)
|
||||||
{
|
{
|
||||||
ULONG_PTR Value;
|
ULONG_PTR Value;
|
||||||
|
@ -622,8 +622,8 @@ _ExWaitForRundownProtectionRelease(IN PEX_RUNDOWN_REF RunRef)
|
||||||
* @remarks This is the internal macro for system use only.
|
* @remarks This is the internal macro for system use only.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
_ExRundownCompleted(IN PEX_RUNDOWN_REF RunRef)
|
_ExRundownCompleted(IN PEX_RUNDOWN_REF RunRef)
|
||||||
{
|
{
|
||||||
/* Sanity check */
|
/* Sanity check */
|
||||||
|
@ -672,8 +672,8 @@ ExWaitForUnblockPushLock(
|
||||||
* @remarks None.
|
* @remarks None.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ExInitializePushLock(IN PULONG_PTR PushLock)
|
ExInitializePushLock(IN PULONG_PTR PushLock)
|
||||||
{
|
{
|
||||||
/* Set the value to 0 */
|
/* Set the value to 0 */
|
||||||
|
@ -699,8 +699,8 @@ ExInitializePushLock(IN PULONG_PTR PushLock)
|
||||||
* This macro should usually be paired up with KeAcquireCriticalRegion.
|
* This macro should usually be paired up with KeAcquireCriticalRegion.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ExAcquirePushLockExclusive(PEX_PUSH_LOCK PushLock)
|
ExAcquirePushLockExclusive(PEX_PUSH_LOCK PushLock)
|
||||||
{
|
{
|
||||||
/* Try acquiring the lock */
|
/* Try acquiring the lock */
|
||||||
|
@ -733,8 +733,8 @@ ExAcquirePushLockExclusive(PEX_PUSH_LOCK PushLock)
|
||||||
* This macro should usually be paired up with KeAcquireCriticalRegion.
|
* This macro should usually be paired up with KeAcquireCriticalRegion.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
BOOLEAN
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
BOOLEAN
|
||||||
ExTryToAcquirePushLockExclusive(PEX_PUSH_LOCK PushLock)
|
ExTryToAcquirePushLockExclusive(PEX_PUSH_LOCK PushLock)
|
||||||
{
|
{
|
||||||
/* Try acquiring the lock */
|
/* Try acquiring the lock */
|
||||||
|
@ -768,8 +768,8 @@ ExTryToAcquirePushLockExclusive(PEX_PUSH_LOCK PushLock)
|
||||||
* This macro should usually be paired up with KeAcquireCriticalRegion.
|
* This macro should usually be paired up with KeAcquireCriticalRegion.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ExAcquirePushLockShared(PEX_PUSH_LOCK PushLock)
|
ExAcquirePushLockShared(PEX_PUSH_LOCK PushLock)
|
||||||
{
|
{
|
||||||
EX_PUSH_LOCK NewValue;
|
EX_PUSH_LOCK NewValue;
|
||||||
|
@ -803,8 +803,8 @@ ExAcquirePushLockShared(PEX_PUSH_LOCK PushLock)
|
||||||
* to simply set the lock bit and remove any other bits.
|
* to simply set the lock bit and remove any other bits.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
BOOLEAN
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
BOOLEAN
|
||||||
ExConvertPushLockSharedToExclusive(IN PEX_PUSH_LOCK PushLock)
|
ExConvertPushLockSharedToExclusive(IN PEX_PUSH_LOCK PushLock)
|
||||||
{
|
{
|
||||||
EX_PUSH_LOCK OldValue;
|
EX_PUSH_LOCK OldValue;
|
||||||
|
@ -842,8 +842,8 @@ ExConvertPushLockSharedToExclusive(IN PEX_PUSH_LOCK PushLock)
|
||||||
* Callers of ExWaitOnPushLock must be running at IRQL <= APC_LEVEL.
|
* Callers of ExWaitOnPushLock must be running at IRQL <= APC_LEVEL.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ExWaitOnPushLock(PEX_PUSH_LOCK PushLock)
|
ExWaitOnPushLock(PEX_PUSH_LOCK PushLock)
|
||||||
{
|
{
|
||||||
/* Check if we're locked */
|
/* Check if we're locked */
|
||||||
|
@ -877,8 +877,8 @@ ExWaitOnPushLock(PEX_PUSH_LOCK PushLock)
|
||||||
* This macro should usually be paired up with KeLeaveCriticalRegion.
|
* This macro should usually be paired up with KeLeaveCriticalRegion.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ExReleasePushLockShared(PEX_PUSH_LOCK PushLock)
|
ExReleasePushLockShared(PEX_PUSH_LOCK PushLock)
|
||||||
{
|
{
|
||||||
EX_PUSH_LOCK OldValue;
|
EX_PUSH_LOCK OldValue;
|
||||||
|
@ -917,8 +917,8 @@ ExReleasePushLockShared(PEX_PUSH_LOCK PushLock)
|
||||||
* This macro should usually be paired up with KeLeaveCriticalRegion.
|
* This macro should usually be paired up with KeLeaveCriticalRegion.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ExReleasePushLockExclusive(PEX_PUSH_LOCK PushLock)
|
ExReleasePushLockExclusive(PEX_PUSH_LOCK PushLock)
|
||||||
{
|
{
|
||||||
EX_PUSH_LOCK OldValue;
|
EX_PUSH_LOCK OldValue;
|
||||||
|
@ -962,8 +962,8 @@ ExReleasePushLockExclusive(PEX_PUSH_LOCK PushLock)
|
||||||
* This macro should usually be paired up with KeLeaveCriticalRegion.
|
* This macro should usually be paired up with KeLeaveCriticalRegion.
|
||||||
*
|
*
|
||||||
*--*/
|
*--*/
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ExReleasePushLock(PEX_PUSH_LOCK PushLock)
|
ExReleasePushLock(PEX_PUSH_LOCK PushLock)
|
||||||
{
|
{
|
||||||
EX_PUSH_LOCK OldValue = *PushLock;
|
EX_PUSH_LOCK OldValue = *PushLock;
|
||||||
|
|
|
@ -115,8 +115,8 @@ static inline void Ki386Cpuid(ULONG Op, PULONG Eax, PULONG Ebx, PULONG Ecx, PULO
|
||||||
|
|
||||||
#elif defined(_MSC_VER)
|
#elif defined(_MSC_VER)
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386Wrmsr(IN ULONG Register,
|
Ke386Wrmsr(IN ULONG Register,
|
||||||
IN ULONG Var1,
|
IN ULONG Var1,
|
||||||
IN ULONG Var2)
|
IN ULONG Var2)
|
||||||
|
@ -126,8 +126,8 @@ Ke386Wrmsr(IN ULONG Register,
|
||||||
__asm wrmsr;
|
__asm wrmsr;
|
||||||
}
|
}
|
||||||
|
|
||||||
ULONGLONG
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
ULONGLONG
|
||||||
Ke386Rdmsr(IN ULONG Register,
|
Ke386Rdmsr(IN ULONG Register,
|
||||||
IN ULONG Var1,
|
IN ULONG Var1,
|
||||||
IN ULONG Var2)
|
IN ULONG Var2)
|
||||||
|
@ -137,8 +137,8 @@ Ke386Rdmsr(IN ULONG Register,
|
||||||
__asm rdmsr;
|
__asm rdmsr;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ki386Cpuid(IN ULONG Operation,
|
Ki386Cpuid(IN ULONG Operation,
|
||||||
OUT PULONG Var1,
|
OUT PULONG Var1,
|
||||||
OUT PULONG Var2,
|
OUT PULONG Var2,
|
||||||
|
@ -153,87 +153,87 @@ Ki386Cpuid(IN ULONG Operation,
|
||||||
__asm mov [Var4], edx;
|
__asm mov [Var4], edx;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386FnInit(VOID)
|
Ke386FnInit(VOID)
|
||||||
{
|
{
|
||||||
__asm fninit;
|
__asm fninit;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386HaltProcessor(VOID)
|
Ke386HaltProcessor(VOID)
|
||||||
{
|
{
|
||||||
__asm hlt;
|
__asm hlt;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386GetInterruptDescriptorTable(OUT KDESCRIPTOR Descriptor)
|
Ke386GetInterruptDescriptorTable(OUT KDESCRIPTOR Descriptor)
|
||||||
{
|
{
|
||||||
__asm sidt Descriptor;
|
__asm sidt Descriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetInterruptDescriptorTable(IN KDESCRIPTOR Descriptor)
|
Ke386SetInterruptDescriptorTable(IN KDESCRIPTOR Descriptor)
|
||||||
{
|
{
|
||||||
__asm lidt Descriptor;
|
__asm lidt Descriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386GetGlobalDescriptorTable(OUT KDESCRIPTOR Descriptor)
|
Ke386GetGlobalDescriptorTable(OUT KDESCRIPTOR Descriptor)
|
||||||
{
|
{
|
||||||
__asm sgdt Descriptor;
|
__asm sgdt Descriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetGlobalDescriptorTable(IN KDESCRIPTOR Descriptor)
|
Ke386SetGlobalDescriptorTable(IN KDESCRIPTOR Descriptor)
|
||||||
{
|
{
|
||||||
__asm lgdt Descriptor;
|
__asm lgdt Descriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386GetLocalDescriptorTable(OUT USHORT Descriptor)
|
Ke386GetLocalDescriptorTable(OUT USHORT Descriptor)
|
||||||
{
|
{
|
||||||
__asm sldt Descriptor;
|
__asm sldt Descriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetLocalDescriptorTable(IN USHORT Descriptor)
|
Ke386SetLocalDescriptorTable(IN USHORT Descriptor)
|
||||||
{
|
{
|
||||||
__asm lldt Descriptor;
|
__asm lldt Descriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SaveFlags(IN ULONG Flags)
|
Ke386SaveFlags(IN ULONG Flags)
|
||||||
{
|
{
|
||||||
__asm pushf;
|
__asm pushf;
|
||||||
__asm pop Flags;
|
__asm pop Flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386RestoreFlags(IN ULONG Flags)
|
Ke386RestoreFlags(IN ULONG Flags)
|
||||||
{
|
{
|
||||||
__asm push Flags;
|
__asm push Flags;
|
||||||
__asm popf;
|
__asm popf;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetTr(IN USHORT Tr)
|
Ke386SetTr(IN USHORT Tr)
|
||||||
{
|
{
|
||||||
__asm ltr Tr;
|
__asm ltr Tr;
|
||||||
}
|
}
|
||||||
|
|
||||||
USHORT
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
USHORT
|
||||||
Ke386GetTr(IN USHORT Tr)
|
Ke386GetTr(IN USHORT Tr)
|
||||||
{
|
{
|
||||||
__asm str Tr;
|
__asm str Tr;
|
||||||
|
@ -242,8 +242,8 @@ Ke386GetTr(IN USHORT Tr)
|
||||||
//
|
//
|
||||||
// CR Macros
|
// CR Macros
|
||||||
//
|
//
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetCr2(IN ULONG Value)
|
Ke386SetCr2(IN ULONG Value)
|
||||||
{
|
{
|
||||||
__asm mov eax, Value;
|
__asm mov eax, Value;
|
||||||
|
@ -253,90 +253,90 @@ Ke386SetCr2(IN ULONG Value)
|
||||||
//
|
//
|
||||||
// DR Macros
|
// DR Macros
|
||||||
//
|
//
|
||||||
ULONG
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
Ke386GetDr0(VOID)
|
Ke386GetDr0(VOID)
|
||||||
{
|
{
|
||||||
__asm mov eax, dr0;
|
__asm mov eax, dr0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ULONG
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
Ke386GetDr1(VOID)
|
Ke386GetDr1(VOID)
|
||||||
{
|
{
|
||||||
__asm mov eax, dr1;
|
__asm mov eax, dr1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ULONG
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
Ke386GetDr2(VOID)
|
Ke386GetDr2(VOID)
|
||||||
{
|
{
|
||||||
__asm mov eax, dr2;
|
__asm mov eax, dr2;
|
||||||
}
|
}
|
||||||
|
|
||||||
ULONG
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
Ke386GetDr3(VOID)
|
Ke386GetDr3(VOID)
|
||||||
{
|
{
|
||||||
__asm mov eax, dr3;
|
__asm mov eax, dr3;
|
||||||
}
|
}
|
||||||
|
|
||||||
ULONG
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
Ke386GetDr6(VOID)
|
Ke386GetDr6(VOID)
|
||||||
{
|
{
|
||||||
__asm mov eax, dr6;
|
__asm mov eax, dr6;
|
||||||
}
|
}
|
||||||
|
|
||||||
ULONG
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
Ke386GetDr7(VOID)
|
Ke386GetDr7(VOID)
|
||||||
{
|
{
|
||||||
__asm mov eax, dr7;
|
__asm mov eax, dr7;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetDr0(IN ULONG Value)
|
Ke386SetDr0(IN ULONG Value)
|
||||||
{
|
{
|
||||||
__asm mov eax, Value;
|
__asm mov eax, Value;
|
||||||
__asm mov dr0, eax;
|
__asm mov dr0, eax;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetDr1(IN ULONG Value)
|
Ke386SetDr1(IN ULONG Value)
|
||||||
{
|
{
|
||||||
__asm mov eax, Value;
|
__asm mov eax, Value;
|
||||||
__asm mov dr1, eax;
|
__asm mov dr1, eax;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetDr2(IN ULONG Value)
|
Ke386SetDr2(IN ULONG Value)
|
||||||
{
|
{
|
||||||
__asm mov eax, Value;
|
__asm mov eax, Value;
|
||||||
__asm mov dr2, eax;
|
__asm mov dr2, eax;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetDr3(IN ULONG Value)
|
Ke386SetDr3(IN ULONG Value)
|
||||||
{
|
{
|
||||||
__asm mov eax, Value;
|
__asm mov eax, Value;
|
||||||
__asm mov dr3, eax;
|
__asm mov dr3, eax;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetDr6(IN ULONG Value)
|
Ke386SetDr6(IN ULONG Value)
|
||||||
{
|
{
|
||||||
__asm mov eax, Value;
|
__asm mov eax, Value;
|
||||||
__asm mov dr6, eax;
|
__asm mov dr6, eax;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetDr7(IN ULONG Value)
|
Ke386SetDr7(IN ULONG Value)
|
||||||
{
|
{
|
||||||
__asm mov eax, Value;
|
__asm mov eax, Value;
|
||||||
|
@ -346,60 +346,60 @@ Ke386SetDr7(IN ULONG Value)
|
||||||
//
|
//
|
||||||
// Segment Macros
|
// Segment Macros
|
||||||
//
|
//
|
||||||
USHORT
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
USHORT
|
||||||
Ke386GetSs(VOID)
|
Ke386GetSs(VOID)
|
||||||
{
|
{
|
||||||
__asm mov ax, ss;
|
__asm mov ax, ss;
|
||||||
}
|
}
|
||||||
|
|
||||||
USHORT
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
USHORT
|
||||||
Ke386GetFs(VOID)
|
Ke386GetFs(VOID)
|
||||||
{
|
{
|
||||||
__asm mov ax, fs;
|
__asm mov ax, fs;
|
||||||
}
|
}
|
||||||
|
|
||||||
USHORT
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
USHORT
|
||||||
Ke386GetDs(VOID)
|
Ke386GetDs(VOID)
|
||||||
{
|
{
|
||||||
__asm mov ax, ds;
|
__asm mov ax, ds;
|
||||||
}
|
}
|
||||||
|
|
||||||
USHORT
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
USHORT
|
||||||
Ke386GetEs(VOID)
|
Ke386GetEs(VOID)
|
||||||
{
|
{
|
||||||
__asm mov ax, es;
|
__asm mov ax, es;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetSs(IN USHORT Value)
|
Ke386SetSs(IN USHORT Value)
|
||||||
{
|
{
|
||||||
__asm mov ax, Value;
|
__asm mov ax, Value;
|
||||||
__asm mov ss, ax;
|
__asm mov ss, ax;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetFs(IN USHORT Value)
|
Ke386SetFs(IN USHORT Value)
|
||||||
{
|
{
|
||||||
__asm mov ax, Value;
|
__asm mov ax, Value;
|
||||||
__asm mov fs, ax;
|
__asm mov fs, ax;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetDs(IN USHORT Value)
|
Ke386SetDs(IN USHORT Value)
|
||||||
{
|
{
|
||||||
__asm mov ax, Value;
|
__asm mov ax, Value;
|
||||||
__asm mov ds, ax;
|
__asm mov ds, ax;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
Ke386SetEs(IN USHORT Value)
|
Ke386SetEs(IN USHORT Value)
|
||||||
{
|
{
|
||||||
__asm mov ax, Value;
|
__asm mov ax, Value;
|
||||||
|
|
|
@ -6,8 +6,9 @@
|
||||||
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
|
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
static
|
||||||
|
__inline
|
||||||
VOID
|
VOID
|
||||||
static __inline
|
|
||||||
IopLockFileObject(IN PFILE_OBJECT FileObject)
|
IopLockFileObject(IN PFILE_OBJECT FileObject)
|
||||||
{
|
{
|
||||||
/* Lock the FO and check for contention */
|
/* Lock the FO and check for contention */
|
||||||
|
@ -19,8 +20,9 @@ IopLockFileObject(IN PFILE_OBJECT FileObject)
|
||||||
InterlockedDecrement((PLONG)&FileObject->Waiters);
|
InterlockedDecrement((PLONG)&FileObject->Waiters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
__inline
|
||||||
VOID
|
VOID
|
||||||
static __inline
|
|
||||||
IopUnlockFileObject(IN PFILE_OBJECT FileObject)
|
IopUnlockFileObject(IN PFILE_OBJECT FileObject)
|
||||||
{
|
{
|
||||||
/* Unlock the FO and wake any waiters up */
|
/* Unlock the FO and wake any waiters up */
|
||||||
|
@ -28,8 +30,8 @@ IopUnlockFileObject(IN PFILE_OBJECT FileObject)
|
||||||
if (FileObject->Waiters) KeSetEvent(&FileObject->Lock, 0, FALSE);
|
if (FileObject->Waiters) KeSetEvent(&FileObject->Lock, 0, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
IopQueueIrpToThread(IN PIRP Irp)
|
IopQueueIrpToThread(IN PIRP Irp)
|
||||||
{
|
{
|
||||||
KIRQL OldIrql;
|
KIRQL OldIrql;
|
||||||
|
@ -44,8 +46,8 @@ IopQueueIrpToThread(IN PIRP Irp)
|
||||||
KeLowerIrql(OldIrql);
|
KeLowerIrql(OldIrql);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
IopUnQueueIrpFromThread(IN PIRP Irp)
|
IopUnQueueIrpFromThread(IN PIRP Irp)
|
||||||
{
|
{
|
||||||
/* Remove it from the list and reset it */
|
/* Remove it from the list and reset it */
|
||||||
|
@ -53,8 +55,9 @@ IopUnQueueIrpFromThread(IN PIRP Irp)
|
||||||
InitializeListHead(&Irp->ThreadListEntry);
|
InitializeListHead(&Irp->ThreadListEntry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
__inline
|
||||||
VOID
|
VOID
|
||||||
static __inline
|
|
||||||
IopUpdateOperationCount(IN IOP_TRANSFER_TYPE Type)
|
IopUpdateOperationCount(IN IOP_TRANSFER_TYPE Type)
|
||||||
{
|
{
|
||||||
PLARGE_INTEGER CountToChange;
|
PLARGE_INTEGER CountToChange;
|
||||||
|
@ -86,8 +89,9 @@ IopUpdateOperationCount(IN IOP_TRANSFER_TYPE Type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
__inline
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
static __inline
|
|
||||||
IopValidateOpenPacket(IN POPEN_PACKET OpenPacket)
|
IopValidateOpenPacket(IN POPEN_PACKET OpenPacket)
|
||||||
{
|
{
|
||||||
/* Validate the packet */
|
/* Validate the packet */
|
||||||
|
|
|
@ -89,8 +89,8 @@ Ke386SanitizeDr(IN PVOID DrAddress,
|
||||||
#endif /* _M_IX86 */
|
#endif /* _M_IX86 */
|
||||||
|
|
||||||
#ifndef _M_ARM
|
#ifndef _M_ARM
|
||||||
PRKTHREAD
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
PRKTHREAD
|
||||||
KeGetCurrentThread(VOID)
|
KeGetCurrentThread(VOID)
|
||||||
{
|
{
|
||||||
#ifdef _M_IX86
|
#ifdef _M_IX86
|
||||||
|
@ -102,8 +102,8 @@ KeGetCurrentThread(VOID)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
UCHAR
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
UCHAR
|
||||||
KeGetPreviousMode(VOID)
|
KeGetPreviousMode(VOID)
|
||||||
{
|
{
|
||||||
/* Return the current mode */
|
/* Return the current mode */
|
||||||
|
@ -111,8 +111,8 @@ KeGetPreviousMode(VOID)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KeFlushProcessTb(VOID)
|
KeFlushProcessTb(VOID)
|
||||||
{
|
{
|
||||||
/* Flush the TLB by resetting CR3 */
|
/* Flush the TLB by resetting CR3 */
|
||||||
|
@ -243,8 +243,8 @@ KxReleaseSpinLock(IN PKSPIN_LOCK SpinLock)
|
||||||
//
|
//
|
||||||
// This routine protects against multiple CPU acquires, it's meaningless on UP.
|
// This routine protects against multiple CPU acquires, it's meaningless on UP.
|
||||||
//
|
//
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KiAcquireDispatcherObject(IN DISPATCHER_HEADER* Object)
|
KiAcquireDispatcherObject(IN DISPATCHER_HEADER* Object)
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(Object);
|
UNREFERENCED_PARAMETER(Object);
|
||||||
|
@ -253,39 +253,39 @@ KiAcquireDispatcherObject(IN DISPATCHER_HEADER* Object)
|
||||||
//
|
//
|
||||||
// This routine protects against multiple CPU acquires, it's meaningless on UP.
|
// This routine protects against multiple CPU acquires, it's meaningless on UP.
|
||||||
//
|
//
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KiReleaseDispatcherObject(IN DISPATCHER_HEADER* Object)
|
KiReleaseDispatcherObject(IN DISPATCHER_HEADER* Object)
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(Object);
|
UNREFERENCED_PARAMETER(Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
KIRQL
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
KIRQL
|
||||||
KiAcquireDispatcherLock(VOID)
|
KiAcquireDispatcherLock(VOID)
|
||||||
{
|
{
|
||||||
/* Raise to DPC level */
|
/* Raise to DPC level */
|
||||||
return KeRaiseIrqlToDpcLevel();
|
return KeRaiseIrqlToDpcLevel();
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KiReleaseDispatcherLock(IN KIRQL OldIrql)
|
KiReleaseDispatcherLock(IN KIRQL OldIrql)
|
||||||
{
|
{
|
||||||
/* Just exit the dispatcher */
|
/* Just exit the dispatcher */
|
||||||
KiExitDispatcher(OldIrql);
|
KiExitDispatcher(OldIrql);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KiAcquireDispatcherLockAtDpcLevel(VOID)
|
KiAcquireDispatcherLockAtDpcLevel(VOID)
|
||||||
{
|
{
|
||||||
/* This is a no-op at DPC Level for UP systems */
|
/* This is a no-op at DPC Level for UP systems */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KiReleaseDispatcherLockFromDpcLevel(VOID)
|
KiReleaseDispatcherLockFromDpcLevel(VOID)
|
||||||
{
|
{
|
||||||
/* This is a no-op at DPC Level for UP systems */
|
/* This is a no-op at DPC Level for UP systems */
|
||||||
|
@ -492,8 +492,8 @@ KxReleaseSpinLock(IN PKSPIN_LOCK SpinLock)
|
||||||
InterlockedAnd((PLONG)SpinLock, 0);
|
InterlockedAnd((PLONG)SpinLock, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KiAcquireDispatcherObject(IN DISPATCHER_HEADER* Object)
|
KiAcquireDispatcherObject(IN DISPATCHER_HEADER* Object)
|
||||||
{
|
{
|
||||||
LONG OldValue;
|
LONG OldValue;
|
||||||
|
@ -521,8 +521,8 @@ KiAcquireDispatcherObject(IN DISPATCHER_HEADER* Object)
|
||||||
OldValue) != OldValue);
|
OldValue) != OldValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KiReleaseDispatcherObject(IN DISPATCHER_HEADER* Object)
|
KiReleaseDispatcherObject(IN DISPATCHER_HEADER* Object)
|
||||||
{
|
{
|
||||||
/* Make sure we're at a safe level to touch the lock */
|
/* Make sure we're at a safe level to touch the lock */
|
||||||
|
@ -532,16 +532,16 @@ KiReleaseDispatcherObject(IN DISPATCHER_HEADER* Object)
|
||||||
InterlockedAnd(&Object->Lock, ~KOBJECT_LOCK_BIT);
|
InterlockedAnd(&Object->Lock, ~KOBJECT_LOCK_BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
KIRQL
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
KIRQL
|
||||||
KiAcquireDispatcherLock(VOID)
|
KiAcquireDispatcherLock(VOID)
|
||||||
{
|
{
|
||||||
/* Raise to synchronization level and acquire the dispatcher lock */
|
/* Raise to synchronization level and acquire the dispatcher lock */
|
||||||
return KeAcquireQueuedSpinLockRaiseToSynch(LockQueueDispatcherLock);
|
return KeAcquireQueuedSpinLockRaiseToSynch(LockQueueDispatcherLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KiReleaseDispatcherLock(IN KIRQL OldIrql)
|
KiReleaseDispatcherLock(IN KIRQL OldIrql)
|
||||||
{
|
{
|
||||||
/* First release the lock */
|
/* First release the lock */
|
||||||
|
@ -552,16 +552,16 @@ KiReleaseDispatcherLock(IN KIRQL OldIrql)
|
||||||
KiExitDispatcher(OldIrql);
|
KiExitDispatcher(OldIrql);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KiAcquireDispatcherLockAtDpcLevel(VOID)
|
KiAcquireDispatcherLockAtDpcLevel(VOID)
|
||||||
{
|
{
|
||||||
/* Acquire the dispatcher lock */
|
/* Acquire the dispatcher lock */
|
||||||
KeAcquireQueuedSpinLockAtDpcLevel(LockQueueDispatcherLock);
|
KeAcquireQueuedSpinLockAtDpcLevel(LockQueueDispatcherLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KiReleaseDispatcherLockFromDpcLevel(VOID)
|
KiReleaseDispatcherLockFromDpcLevel(VOID)
|
||||||
{
|
{
|
||||||
/* Release the dispatcher lock */
|
/* Release the dispatcher lock */
|
||||||
|
@ -1003,8 +1003,8 @@ KiReleaseDeviceQueueLock(IN PKLOCK_QUEUE_HANDLE DeviceLock)
|
||||||
//
|
//
|
||||||
// Recalculates the due time
|
// Recalculates the due time
|
||||||
//
|
//
|
||||||
PLARGE_INTEGER
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
PLARGE_INTEGER
|
||||||
KiRecalculateDueTime(IN PLARGE_INTEGER OriginalDueTime,
|
KiRecalculateDueTime(IN PLARGE_INTEGER OriginalDueTime,
|
||||||
IN PLARGE_INTEGER DueTime,
|
IN PLARGE_INTEGER DueTime,
|
||||||
IN OUT PLARGE_INTEGER NewDueTime)
|
IN OUT PLARGE_INTEGER NewDueTime)
|
||||||
|
@ -1103,8 +1103,8 @@ KiCheckAlertability(IN PKTHREAD Thread,
|
||||||
// Called from KiCompleteTimer, KiInsertTreeTimer, KeSetSystemTime
|
// Called from KiCompleteTimer, KiInsertTreeTimer, KeSetSystemTime
|
||||||
// to remove timer entries
|
// to remove timer entries
|
||||||
// See Windows HPI blog for more information.
|
// See Windows HPI blog for more information.
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KiRemoveEntryTimer(IN PKTIMER Timer)
|
KiRemoveEntryTimer(IN PKTIMER Timer)
|
||||||
{
|
{
|
||||||
ULONG Hand;
|
ULONG Hand;
|
||||||
|
@ -1134,8 +1134,8 @@ KiRemoveEntryTimer(IN PKTIMER Timer)
|
||||||
// Called by Wait and Queue code to insert a timer for dispatching.
|
// Called by Wait and Queue code to insert a timer for dispatching.
|
||||||
// Also called by KeSetTimerEx to insert a timer from the caller.
|
// Also called by KeSetTimerEx to insert a timer from the caller.
|
||||||
//
|
//
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KxInsertTimer(IN PKTIMER Timer,
|
KxInsertTimer(IN PKTIMER Timer,
|
||||||
IN ULONG Hand)
|
IN ULONG Hand)
|
||||||
{
|
{
|
||||||
|
@ -1162,8 +1162,8 @@ KxInsertTimer(IN PKTIMER Timer,
|
||||||
// Called by KeSetTimerEx and KiInsertTreeTimer to calculate Due Time
|
// Called by KeSetTimerEx and KiInsertTreeTimer to calculate Due Time
|
||||||
// See the Windows HPI Blog for more information
|
// See the Windows HPI Blog for more information
|
||||||
//
|
//
|
||||||
BOOLEAN
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
BOOLEAN
|
||||||
KiComputeDueTime(IN PKTIMER Timer,
|
KiComputeDueTime(IN PKTIMER Timer,
|
||||||
IN LARGE_INTEGER DueTime,
|
IN LARGE_INTEGER DueTime,
|
||||||
OUT PULONG Hand)
|
OUT PULONG Hand)
|
||||||
|
@ -1214,8 +1214,8 @@ KiComputeDueTime(IN PKTIMER Timer,
|
||||||
// Also called by timer code when canceling an inserted timer.
|
// Also called by timer code when canceling an inserted timer.
|
||||||
// Removes a timer from it's tree.
|
// Removes a timer from it's tree.
|
||||||
//
|
//
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KxRemoveTreeTimer(IN PKTIMER Timer)
|
KxRemoveTreeTimer(IN PKTIMER Timer)
|
||||||
{
|
{
|
||||||
ULONG Hand = Timer->Header.Hand;
|
ULONG Hand = Timer->Header.Hand;
|
||||||
|
@ -1244,8 +1244,8 @@ KxRemoveTreeTimer(IN PKTIMER Timer)
|
||||||
KiReleaseTimerLock(LockQueue);
|
KiReleaseTimerLock(LockQueue);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
KxSetTimerForThreadWait(IN PKTIMER Timer,
|
KxSetTimerForThreadWait(IN PKTIMER Timer,
|
||||||
IN LARGE_INTEGER Interval,
|
IN LARGE_INTEGER Interval,
|
||||||
OUT PULONG Hand)
|
OUT PULONG Hand)
|
||||||
|
@ -1632,7 +1632,8 @@ PKTHREAD
|
||||||
KiSelectReadyThread(IN KPRIORITY Priority,
|
KiSelectReadyThread(IN KPRIORITY Priority,
|
||||||
IN PKPRCB Prcb)
|
IN PKPRCB Prcb)
|
||||||
{
|
{
|
||||||
ULONG PrioritySet, HighPriority;
|
ULONG PrioritySet;
|
||||||
|
LONG HighPriority;
|
||||||
PLIST_ENTRY ListEntry;
|
PLIST_ENTRY ListEntry;
|
||||||
PKTHREAD Thread = NULL;
|
PKTHREAD Thread = NULL;
|
||||||
|
|
||||||
|
@ -1676,8 +1677,8 @@ Quickie:
|
||||||
// This routine computes the new priority for a thread. It is only valid for
|
// This routine computes the new priority for a thread. It is only valid for
|
||||||
// threads with priorities in the dynamic priority range.
|
// threads with priorities in the dynamic priority range.
|
||||||
//
|
//
|
||||||
SCHAR
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
SCHAR
|
||||||
KiComputeNewPriority(IN PKTHREAD Thread,
|
KiComputeNewPriority(IN PKTHREAD Thread,
|
||||||
IN SCHAR Adjustment)
|
IN SCHAR Adjustment)
|
||||||
{
|
{
|
||||||
|
|
|
@ -95,8 +95,8 @@
|
||||||
//
|
//
|
||||||
// Allocates a new message
|
// Allocates a new message
|
||||||
//
|
//
|
||||||
PLPCP_MESSAGE
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
PLPCP_MESSAGE
|
||||||
LpcpAllocateFromPortZone(VOID)
|
LpcpAllocateFromPortZone(VOID)
|
||||||
{
|
{
|
||||||
PLPCP_MESSAGE Message;
|
PLPCP_MESSAGE Message;
|
||||||
|
@ -124,8 +124,8 @@ LpcpAllocateFromPortZone(VOID)
|
||||||
//
|
//
|
||||||
// Get the LPC Message associated to the Thread
|
// Get the LPC Message associated to the Thread
|
||||||
//
|
//
|
||||||
PLPCP_MESSAGE
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
PLPCP_MESSAGE
|
||||||
LpcpGetMessageFromThread(IN PETHREAD Thread)
|
LpcpGetMessageFromThread(IN PETHREAD Thread)
|
||||||
{
|
{
|
||||||
/* Check if the port flag is set */
|
/* Check if the port flag is set */
|
||||||
|
@ -139,8 +139,8 @@ LpcpGetMessageFromThread(IN PETHREAD Thread)
|
||||||
return (PVOID)((ULONG_PTR)Thread->LpcReplyMessage & ~LPCP_THREAD_FLAGS);
|
return (PVOID)((ULONG_PTR)Thread->LpcReplyMessage & ~LPCP_THREAD_FLAGS);
|
||||||
}
|
}
|
||||||
|
|
||||||
PLPCP_PORT_OBJECT
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
PLPCP_PORT_OBJECT
|
||||||
LpcpGetPortFromThread(IN PETHREAD Thread)
|
LpcpGetPortFromThread(IN PETHREAD Thread)
|
||||||
{
|
{
|
||||||
/* Check if the port flag is set */
|
/* Check if the port flag is set */
|
||||||
|
@ -155,8 +155,8 @@ LpcpGetPortFromThread(IN PETHREAD Thread)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
LpcpSetPortToThread(IN PETHREAD Thread,
|
LpcpSetPortToThread(IN PETHREAD Thread,
|
||||||
IN PLPCP_PORT_OBJECT Port)
|
IN PLPCP_PORT_OBJECT Port)
|
||||||
{
|
{
|
||||||
|
|
|
@ -166,10 +166,10 @@ typedef ULONG PFN_TYPE, *PPFN_TYPE;
|
||||||
|
|
||||||
|
|
||||||
#define InterlockedCompareExchangePte(PointerPte, Exchange, Comperand) \
|
#define InterlockedCompareExchangePte(PointerPte, Exchange, Comperand) \
|
||||||
InterlockedCompareExchange((PLONG)(PointerPte), Exchange, Comperand)
|
(ULONG)InterlockedCompareExchange((PLONG)(PointerPte), Exchange, Comperand)
|
||||||
|
|
||||||
#define InterlockedExchangePte(PointerPte, Value) \
|
#define InterlockedExchangePte(PointerPte, Value) \
|
||||||
InterlockedExchange((PLONG)(PointerPte), Value)
|
(ULONG)InterlockedExchange((PLONG)(PointerPte), Value)
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -1016,7 +1016,8 @@ ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetLockCountPage(PFN_TYPE Page);
|
MmGetLockCountPage(PFN_TYPE Page);
|
||||||
|
|
||||||
static __inline
|
static
|
||||||
|
__inline
|
||||||
KIRQL
|
KIRQL
|
||||||
NTAPI
|
NTAPI
|
||||||
MmAcquirePageListLock()
|
MmAcquirePageListLock()
|
||||||
|
|
|
@ -17,16 +17,16 @@
|
||||||
|
|
||||||
#define OBP_NAME_LOOKASIDE_MAX_SIZE 248
|
#define OBP_NAME_LOOKASIDE_MAX_SIZE 248
|
||||||
|
|
||||||
ULONG
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
ObpSelectObjectLockSlot(IN POBJECT_HEADER ObjectHeader)
|
ObpSelectObjectLockSlot(IN POBJECT_HEADER ObjectHeader)
|
||||||
{
|
{
|
||||||
/* We have 4 locks total, this will return a 0-index slot */
|
/* We have 4 locks total, this will return a 0-index slot */
|
||||||
return (((ULONG_PTR)ObjectHeader) >> 8) & 3;
|
return (((ULONG_PTR)ObjectHeader) >> 8) & 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpAcquireObjectLock(IN POBJECT_HEADER ObjectHeader)
|
ObpAcquireObjectLock(IN POBJECT_HEADER ObjectHeader)
|
||||||
{
|
{
|
||||||
ULONG Slot;
|
ULONG Slot;
|
||||||
|
@ -43,8 +43,8 @@ ObpAcquireObjectLock(IN POBJECT_HEADER ObjectHeader)
|
||||||
ExAcquireResourceExclusiveLite(&ObjectType->ObjectLocks[Slot], TRUE);
|
ExAcquireResourceExclusiveLite(&ObjectType->ObjectLocks[Slot], TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpAcquireObjectLockShared(IN POBJECT_HEADER ObjectHeader)
|
ObpAcquireObjectLockShared(IN POBJECT_HEADER ObjectHeader)
|
||||||
{
|
{
|
||||||
ULONG Slot;
|
ULONG Slot;
|
||||||
|
@ -61,8 +61,8 @@ ObpAcquireObjectLockShared(IN POBJECT_HEADER ObjectHeader)
|
||||||
ExAcquireResourceSharedLite(&ObjectType->ObjectLocks[Slot], TRUE);
|
ExAcquireResourceSharedLite(&ObjectType->ObjectLocks[Slot], TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpReleaseObjectLock(IN POBJECT_HEADER ObjectHeader)
|
ObpReleaseObjectLock(IN POBJECT_HEADER ObjectHeader)
|
||||||
{
|
{
|
||||||
ULONG Slot;
|
ULONG Slot;
|
||||||
|
@ -79,8 +79,8 @@ ObpReleaseObjectLock(IN POBJECT_HEADER ObjectHeader)
|
||||||
ASSERT(KeGetCurrentIrql() <= APC_LEVEL);
|
ASSERT(KeGetCurrentIrql() <= APC_LEVEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
POBJECT_HEADER_NAME_INFO
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
POBJECT_HEADER_NAME_INFO
|
||||||
ObpReferenceNameInfo(IN POBJECT_HEADER ObjectHeader)
|
ObpReferenceNameInfo(IN POBJECT_HEADER ObjectHeader)
|
||||||
{
|
{
|
||||||
POBJECT_HEADER_NAME_INFO ObjectNameInfo;
|
POBJECT_HEADER_NAME_INFO ObjectNameInfo;
|
||||||
|
@ -120,8 +120,8 @@ ObpReferenceNameInfo(IN POBJECT_HEADER ObjectHeader)
|
||||||
return ObjectNameInfo;
|
return ObjectNameInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpDereferenceNameInfo(IN POBJECT_HEADER_NAME_INFO HeaderNameInfo)
|
ObpDereferenceNameInfo(IN POBJECT_HEADER_NAME_INFO HeaderNameInfo)
|
||||||
{
|
{
|
||||||
POBJECT_DIRECTORY Directory;
|
POBJECT_DIRECTORY Directory;
|
||||||
|
@ -151,8 +151,8 @@ ObpDereferenceNameInfo(IN POBJECT_HEADER_NAME_INFO HeaderNameInfo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpAcquireDirectoryLockShared(IN POBJECT_DIRECTORY Directory,
|
ObpAcquireDirectoryLockShared(IN POBJECT_DIRECTORY Directory,
|
||||||
IN POBP_LOOKUP_CONTEXT Context)
|
IN POBP_LOOKUP_CONTEXT Context)
|
||||||
{
|
{
|
||||||
|
@ -167,8 +167,8 @@ ObpAcquireDirectoryLockShared(IN POBJECT_DIRECTORY Directory,
|
||||||
Context->LockStateSignature = OBP_LOCK_STATE_POST_ACQUISITION_SHARED;
|
Context->LockStateSignature = OBP_LOCK_STATE_POST_ACQUISITION_SHARED;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpAcquireDirectoryLockExclusive(IN POBJECT_DIRECTORY Directory,
|
ObpAcquireDirectoryLockExclusive(IN POBJECT_DIRECTORY Directory,
|
||||||
IN POBP_LOOKUP_CONTEXT Context)
|
IN POBP_LOOKUP_CONTEXT Context)
|
||||||
{
|
{
|
||||||
|
@ -187,8 +187,8 @@ ObpAcquireDirectoryLockExclusive(IN POBJECT_DIRECTORY Directory,
|
||||||
Context->DirectoryLocked = TRUE;
|
Context->DirectoryLocked = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpReleaseDirectoryLock(IN POBJECT_DIRECTORY Directory,
|
ObpReleaseDirectoryLock(IN POBJECT_DIRECTORY Directory,
|
||||||
IN POBP_LOOKUP_CONTEXT Context)
|
IN POBP_LOOKUP_CONTEXT Context)
|
||||||
{
|
{
|
||||||
|
@ -198,8 +198,8 @@ ObpReleaseDirectoryLock(IN POBJECT_DIRECTORY Directory,
|
||||||
KeLeaveCriticalRegion();
|
KeLeaveCriticalRegion();
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpInitializeLookupContext(IN POBP_LOOKUP_CONTEXT Context)
|
ObpInitializeLookupContext(IN POBP_LOOKUP_CONTEXT Context)
|
||||||
{
|
{
|
||||||
/* Initialize a null context */
|
/* Initialize a null context */
|
||||||
|
@ -209,8 +209,8 @@ ObpInitializeLookupContext(IN POBP_LOOKUP_CONTEXT Context)
|
||||||
Context->LockStateSignature = OBP_LOCK_STATE_INITIALIZED;
|
Context->LockStateSignature = OBP_LOCK_STATE_INITIALIZED;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpReleaseLookupContextObject(IN POBP_LOOKUP_CONTEXT Context)
|
ObpReleaseLookupContextObject(IN POBP_LOOKUP_CONTEXT Context)
|
||||||
{
|
{
|
||||||
POBJECT_HEADER ObjectHeader;
|
POBJECT_HEADER ObjectHeader;
|
||||||
|
@ -232,8 +232,8 @@ ObpReleaseLookupContextObject(IN POBP_LOOKUP_CONTEXT Context)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpReleaseLookupContext(IN POBP_LOOKUP_CONTEXT Context)
|
ObpReleaseLookupContext(IN POBP_LOOKUP_CONTEXT Context)
|
||||||
{
|
{
|
||||||
/* Check if we came back with the directory locked */
|
/* Check if we came back with the directory locked */
|
||||||
|
@ -249,8 +249,8 @@ ObpReleaseLookupContext(IN POBP_LOOKUP_CONTEXT Context)
|
||||||
ObpReleaseLookupContextObject(Context);
|
ObpReleaseLookupContextObject(Context);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpEnterObjectTypeMutex(IN POBJECT_TYPE ObjectType)
|
ObpEnterObjectTypeMutex(IN POBJECT_TYPE ObjectType)
|
||||||
{
|
{
|
||||||
/* Sanity check */
|
/* Sanity check */
|
||||||
|
@ -261,8 +261,8 @@ ObpEnterObjectTypeMutex(IN POBJECT_TYPE ObjectType)
|
||||||
ExAcquireResourceExclusiveLite(&ObjectType->Mutex, TRUE);
|
ExAcquireResourceExclusiveLite(&ObjectType->Mutex, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpLeaveObjectTypeMutex(IN POBJECT_TYPE ObjectType)
|
ObpLeaveObjectTypeMutex(IN POBJECT_TYPE ObjectType)
|
||||||
{
|
{
|
||||||
/* Enter a critical region and acquire the resource */
|
/* Enter a critical region and acquire the resource */
|
||||||
|
@ -273,8 +273,8 @@ ObpLeaveObjectTypeMutex(IN POBJECT_TYPE ObjectType)
|
||||||
ASSERT(KeGetCurrentIrql() <= APC_LEVEL);
|
ASSERT(KeGetCurrentIrql() <= APC_LEVEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpReleaseObjectCreateInformation(IN POBJECT_CREATE_INFORMATION ObjectCreateInfo)
|
ObpReleaseObjectCreateInformation(IN POBJECT_CREATE_INFORMATION ObjectCreateInfo)
|
||||||
{
|
{
|
||||||
/* Check if we have a security descriptor */
|
/* Check if we have a security descriptor */
|
||||||
|
@ -288,8 +288,8 @@ ObpReleaseObjectCreateInformation(IN POBJECT_CREATE_INFORMATION ObjectCreateInfo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PVOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
PVOID
|
||||||
ObpAllocateObjectCreateInfoBuffer(IN PP_NPAGED_LOOKASIDE_NUMBER Type)
|
ObpAllocateObjectCreateInfoBuffer(IN PP_NPAGED_LOOKASIDE_NUMBER Type)
|
||||||
{
|
{
|
||||||
PVOID Buffer;
|
PVOID Buffer;
|
||||||
|
@ -325,8 +325,8 @@ ObpAllocateObjectCreateInfoBuffer(IN PP_NPAGED_LOOKASIDE_NUMBER Type)
|
||||||
return Buffer;
|
return Buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpFreeCapturedAttributes(IN PVOID Buffer,
|
ObpFreeCapturedAttributes(IN PVOID Buffer,
|
||||||
IN PP_NPAGED_LOOKASIDE_NUMBER Type)
|
IN PP_NPAGED_LOOKASIDE_NUMBER Type)
|
||||||
{
|
{
|
||||||
|
@ -369,8 +369,8 @@ ObpFreeCapturedAttributes(IN PVOID Buffer,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpFreeObjectCreateInformation(IN POBJECT_CREATE_INFORMATION ObjectCreateInfo)
|
ObpFreeObjectCreateInformation(IN POBJECT_CREATE_INFORMATION ObjectCreateInfo)
|
||||||
{
|
{
|
||||||
/* First release the attributes, then free them from the lookaside list */
|
/* First release the attributes, then free them from the lookaside list */
|
||||||
|
@ -379,16 +379,16 @@ ObpFreeObjectCreateInformation(IN POBJECT_CREATE_INFORMATION ObjectCreateInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
#if DBG
|
#if DBG
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpCalloutStart(IN PKIRQL CalloutIrql)
|
ObpCalloutStart(IN PKIRQL CalloutIrql)
|
||||||
{
|
{
|
||||||
/* Save the callout IRQL */
|
/* Save the callout IRQL */
|
||||||
*CalloutIrql = KeGetCurrentIrql();
|
*CalloutIrql = KeGetCurrentIrql();
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpCalloutEnd(IN KIRQL CalloutIrql,
|
ObpCalloutEnd(IN KIRQL CalloutIrql,
|
||||||
IN PCHAR Procedure,
|
IN PCHAR Procedure,
|
||||||
IN POBJECT_TYPE ObjectType,
|
IN POBJECT_TYPE ObjectType,
|
||||||
|
@ -406,16 +406,16 @@ ObpCalloutEnd(IN KIRQL CalloutIrql,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpCalloutStart(IN PKIRQL CalloutIrql)
|
ObpCalloutStart(IN PKIRQL CalloutIrql)
|
||||||
{
|
{
|
||||||
/* No-op */
|
/* No-op */
|
||||||
UNREFERENCED_PARAMETER(CalloutIrql);
|
UNREFERENCED_PARAMETER(CalloutIrql);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
ObpCalloutEnd(IN KIRQL CalloutIrql,
|
ObpCalloutEnd(IN KIRQL CalloutIrql,
|
||||||
IN PCHAR Procedure,
|
IN PCHAR Procedure,
|
||||||
IN POBJECT_TYPE ObjectType,
|
IN POBJECT_TYPE ObjectType,
|
||||||
|
|
|
@ -35,8 +35,8 @@
|
||||||
#define PspClearProcessFlag(Process, Flag) \
|
#define PspClearProcessFlag(Process, Flag) \
|
||||||
InterlockedAnd((PLONG)&Process->Flags, ~Flag)
|
InterlockedAnd((PLONG)&Process->Flags, ~Flag)
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspRunCreateThreadNotifyRoutines(IN PETHREAD CurrentThread,
|
PspRunCreateThreadNotifyRoutines(IN PETHREAD CurrentThread,
|
||||||
IN BOOLEAN Create)
|
IN BOOLEAN Create)
|
||||||
{
|
{
|
||||||
|
@ -57,8 +57,8 @@ PspRunCreateThreadNotifyRoutines(IN PETHREAD CurrentThread,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspRunCreateProcessNotifyRoutines(IN PEPROCESS CurrentProcess,
|
PspRunCreateProcessNotifyRoutines(IN PEPROCESS CurrentProcess,
|
||||||
IN BOOLEAN Create)
|
IN BOOLEAN Create)
|
||||||
{
|
{
|
||||||
|
@ -79,8 +79,8 @@ PspRunCreateProcessNotifyRoutines(IN PEPROCESS CurrentProcess,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspRunLoadImageNotifyRoutines(PUNICODE_STRING FullImageName,
|
PspRunLoadImageNotifyRoutines(PUNICODE_STRING FullImageName,
|
||||||
HANDLE ProcessId,
|
HANDLE ProcessId,
|
||||||
PIMAGE_INFO ImageInfo)
|
PIMAGE_INFO ImageInfo)
|
||||||
|
@ -98,16 +98,16 @@ PspRunLoadImageNotifyRoutines(PUNICODE_STRING FullImageName,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspRunLegoRoutine(IN PKTHREAD Thread)
|
PspRunLegoRoutine(IN PKTHREAD Thread)
|
||||||
{
|
{
|
||||||
/* Call it */
|
/* Call it */
|
||||||
if (PspLegoNotifyRoutine) PspLegoNotifyRoutine(Thread);
|
if (PspLegoNotifyRoutine) PspLegoNotifyRoutine(Thread);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspLockProcessSecurityShared(IN PEPROCESS Process)
|
PspLockProcessSecurityShared(IN PEPROCESS Process)
|
||||||
{
|
{
|
||||||
/* Enter a Critical Region */
|
/* Enter a Critical Region */
|
||||||
|
@ -117,8 +117,8 @@ PspLockProcessSecurityShared(IN PEPROCESS Process)
|
||||||
ExAcquirePushLockShared(&Process->ProcessLock);
|
ExAcquirePushLockShared(&Process->ProcessLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspUnlockProcessSecurityShared(IN PEPROCESS Process)
|
PspUnlockProcessSecurityShared(IN PEPROCESS Process)
|
||||||
{
|
{
|
||||||
/* Unlock the Process */
|
/* Unlock the Process */
|
||||||
|
@ -128,8 +128,8 @@ PspUnlockProcessSecurityShared(IN PEPROCESS Process)
|
||||||
KeLeaveCriticalRegion();
|
KeLeaveCriticalRegion();
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspLockProcessSecurityExclusive(IN PEPROCESS Process)
|
PspLockProcessSecurityExclusive(IN PEPROCESS Process)
|
||||||
{
|
{
|
||||||
/* Enter a Critical Region */
|
/* Enter a Critical Region */
|
||||||
|
@ -139,8 +139,8 @@ PspLockProcessSecurityExclusive(IN PEPROCESS Process)
|
||||||
ExAcquirePushLockExclusive(&Process->ProcessLock);
|
ExAcquirePushLockExclusive(&Process->ProcessLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspUnlockProcessSecurityExclusive(IN PEPROCESS Process)
|
PspUnlockProcessSecurityExclusive(IN PEPROCESS Process)
|
||||||
{
|
{
|
||||||
/* Unlock the Process */
|
/* Unlock the Process */
|
||||||
|
@ -150,8 +150,8 @@ PspUnlockProcessSecurityExclusive(IN PEPROCESS Process)
|
||||||
KeLeaveCriticalRegion();
|
KeLeaveCriticalRegion();
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspLockThreadSecurityShared(IN PETHREAD Thread)
|
PspLockThreadSecurityShared(IN PETHREAD Thread)
|
||||||
{
|
{
|
||||||
/* Enter a Critical Region */
|
/* Enter a Critical Region */
|
||||||
|
@ -161,8 +161,8 @@ PspLockThreadSecurityShared(IN PETHREAD Thread)
|
||||||
ExAcquirePushLockShared(&Thread->ThreadLock);
|
ExAcquirePushLockShared(&Thread->ThreadLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspUnlockThreadSecurityShared(IN PETHREAD Thread)
|
PspUnlockThreadSecurityShared(IN PETHREAD Thread)
|
||||||
{
|
{
|
||||||
/* Unlock the Thread */
|
/* Unlock the Thread */
|
||||||
|
@ -172,8 +172,8 @@ PspUnlockThreadSecurityShared(IN PETHREAD Thread)
|
||||||
KeLeaveCriticalRegion();
|
KeLeaveCriticalRegion();
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspLockThreadSecurityExclusive(IN PETHREAD Thread)
|
PspLockThreadSecurityExclusive(IN PETHREAD Thread)
|
||||||
{
|
{
|
||||||
/* Enter a Critical Region */
|
/* Enter a Critical Region */
|
||||||
|
@ -183,8 +183,8 @@ PspLockThreadSecurityExclusive(IN PETHREAD Thread)
|
||||||
ExAcquirePushLockExclusive(&Thread->ThreadLock);
|
ExAcquirePushLockExclusive(&Thread->ThreadLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
PspUnlockThreadSecurityExclusive(IN PETHREAD Thread)
|
PspUnlockThreadSecurityExclusive(IN PETHREAD Thread)
|
||||||
{
|
{
|
||||||
/* Unlock the Process */
|
/* Unlock the Process */
|
||||||
|
@ -194,8 +194,8 @@ PspUnlockThreadSecurityExclusive(IN PETHREAD Thread)
|
||||||
KeLeaveCriticalRegion();
|
KeLeaveCriticalRegion();
|
||||||
}
|
}
|
||||||
|
|
||||||
PEPROCESS
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
PEPROCESS
|
||||||
_PsGetCurrentProcess(VOID)
|
_PsGetCurrentProcess(VOID)
|
||||||
{
|
{
|
||||||
/* Get the current process */
|
/* Get the current process */
|
||||||
|
|
Loading…
Reference in a new issue