32{ \
34 ok_eq_int(
Thread->KernelApcDisable, KernelApcsDisabled); \
35 if (pKeAreAllApcsDisabled) \
36 ok_eq_bool(pKeAreAllApcsDisabled(), AllApcsDisabled); \
37 ok_eq_int(
Thread->SpecialApcDisable, SpecialApcsDisabled); \
39} while (0)
40
42{
45
49
50 if (
skip(pKeAreAllApcsDisabled !=
NULL,
"KeAreAllApcsDisabled unavailable\n"))
51 {
52
53 }
54
56
58
59
72
73
74 if (!
skip(pKeEnterGuardedRegion &&
75 pKeLeaveGuardedRegion, "Guarded regions not available\n"))
76 {
77 pKeEnterGuardedRegion();
79 pKeEnterGuardedRegion();
81 pKeEnterGuardedRegion();
83 pKeLeaveGuardedRegion();
85 pKeLeaveGuardedRegion();
87 pKeLeaveGuardedRegion();
89
90
91 pKeEnterGuardedRegion();
97 pKeLeaveGuardedRegion();
99
102 pKeEnterGuardedRegion();
104 pKeLeaveGuardedRegion();
108 }
109
110
112 {
117
118 if (!
skip(pKeEnterGuardedRegion &&
119 pKeLeaveGuardedRegion, "Guarded regions not available\n"))
120 {
121 pKeLeaveGuardedRegion();
123 pKeEnterGuardedRegion();
125
128 pKeLeaveGuardedRegion();
132 pKeEnterGuardedRegion();
134 }
135 }
136
137
138 Thread->KernelApcDisable = -1;
140 Thread->SpecialApcDisable = -1;
142 Thread->KernelApcDisable = 0;
144 Thread->SpecialApcDisable = 0;
146
147
152
153
158
159
164
165
172
173
175 !
skip(pKeEnterGuardedRegion &&
176 pKeLeaveGuardedRegion, "Guarded regions not available\n"))
177 {
178 pKeEnterGuardedRegion();
180 pKeLeaveGuardedRegion();
181 }
185
187 !
skip(pKeEnterGuardedRegion &&
188 pKeLeaveGuardedRegion, "Guarded regions not available\n"))
189 {
194 pKeEnterGuardedRegion();
200 pKeLeaveGuardedRegion();
202
203 pKeEnterGuardedRegion();
209 pKeLeaveGuardedRegion();
215
220 pKeEnterGuardedRegion();
226 pKeLeaveGuardedRegion();
228 }
229
238}
#define CheckApcs(KernelApcsDisabled, SpecialApcsDisabled, AllApcsDisabled, Irql)
#define KeRaiseIrql(irql, oldIrql)
#define KeLowerIrql(oldIrql)
#define KeGetCurrentThread
#define KeLeaveCriticalRegion()
#define KeEnterCriticalRegion()
PVOID KmtGetSystemRoutineAddress(IN PCWSTR RoutineName)
BOOLEAN KmtIsCheckedBuild