15*pKeAreAllApcsDisabled)(
VOID);
22*pKeEnterGuardedRegion)(
VOID);
29*pKeLeaveGuardedRegion)(
VOID);
31#define CheckApcs(KernelApcsDisabled, SpecialApcsDisabled, AllApcsDisabled, Irql) do \
33 ok_eq_bool(KeAreApcsDisabled(), KernelApcsDisabled || SpecialApcsDisabled); \
34 ok_eq_int(Thread->KernelApcDisable, KernelApcsDisabled); \
35 if (pKeAreAllApcsDisabled) \
36 ok_eq_bool(pKeAreAllApcsDisabled(), AllApcsDisabled); \
37 ok_eq_int(Thread->SpecialApcDisable, SpecialApcsDisabled); \
50 if (
skip(pKeAreAllApcsDisabled !=
NULL,
"KeAreAllApcsDisabled unavailable\n"))
74 if (!
skip(pKeEnterGuardedRegion &&
75 pKeLeaveGuardedRegion,
"Guarded regions not available\n"))
77 pKeEnterGuardedRegion();
79 pKeEnterGuardedRegion();
81 pKeEnterGuardedRegion();
83 pKeLeaveGuardedRegion();
85 pKeLeaveGuardedRegion();
87 pKeLeaveGuardedRegion();
91 pKeEnterGuardedRegion();
97 pKeLeaveGuardedRegion();
102 pKeEnterGuardedRegion();
104 pKeLeaveGuardedRegion();
118 if (!
skip(pKeEnterGuardedRegion &&
119 pKeLeaveGuardedRegion,
"Guarded regions not available\n"))
121 pKeLeaveGuardedRegion();
123 pKeEnterGuardedRegion();
128 pKeLeaveGuardedRegion();
132 pKeEnterGuardedRegion();
138 Thread->KernelApcDisable = -1;
140 Thread->SpecialApcDisable = -1;
142 Thread->KernelApcDisable = 0;
144 Thread->SpecialApcDisable = 0;
175 !
skip(pKeEnterGuardedRegion &&
176 pKeLeaveGuardedRegion,
"Guarded regions not available\n"))
178 pKeEnterGuardedRegion();
180 pKeLeaveGuardedRegion();
187 !
skip(pKeEnterGuardedRegion &&
188 pKeLeaveGuardedRegion,
"Guarded regions not available\n"))
194 pKeEnterGuardedRegion();
200 pKeLeaveGuardedRegion();
203 pKeEnterGuardedRegion();
209 pKeLeaveGuardedRegion();
220 pKeEnterGuardedRegion();
226 pKeLeaveGuardedRegion();
#define CheckApcs(KernelApcsDisabled, SpecialApcsDisabled, AllApcsDisabled, Irql)
#define _Acquires_lock_(lock)
#define _Releases_lock_(lock)
#define _IRQL_requires_min_(irql)
#define _IRQL_requires_max_(irql)
#define KeRaiseIrql(irql, oldIrql)
#define KeLowerIrql(oldIrql)
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
#define KeGetCurrentThread
#define KeLeaveCriticalRegion()
#define KeEnterCriticalRegion()
PVOID KmtGetSystemRoutineAddress(IN PCWSTR RoutineName)
BOOLEAN KmtIsCheckedBuild