ReactOS  0.4.15-dev-2361-g32428a3
kefuncs.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Kernel Functions *
3  ******************************************************************************/
5 #if defined(_M_IX86)
6 $include(x86/ke.h)
7 #elif defined(_M_AMD64)
8 $include(amd64/ke.h)
9 #elif defined(_M_IA64)
10 $include(ia64/ke.h)
11 #elif defined(_M_PPC)
12 $include(ppc/ke.h)
13 #elif defined(_M_MIPS)
14 $include(mips/ke.h)
15 #elif defined(_M_ARM)
16 $include(arm/ke.h)
17 #else
18 #error Unknown Architecture
19 #endif
20 
22 VOID
23 NTAPI
28 
31 VOID
32 NTAPI
36 $if (_NTDDK_)
37 
41 VOID
43 KeInvalidateRangeAllCaches(
47 
48 #if (NTDDI_VERSION >= NTDDI_WIN2K)
49 
50 $if (_WDMDDK_)
51 #if defined(_NTDDK_) || defined(_NTIFS_)
55 VOID
56 NTAPI
58  __in_data_source(USER_MODE) _In_reads_bytes_(Length) CONST VOID *Address, /* CONST is added */
61 #endif /* defined(_NTDDK_) || defined(_NTIFS_) */
62 
66 VOID
67 NTAPI
72 
74 $if (_NTDDK_)
76 VOID
77 NTAPI
81 
84 LONG
85 NTAPI
89  _In_ BOOLEAN Wait);
90 
94 LONG
95 NTAPI
99 
100 _Acquires_lock_(_Global_critical_region_)
103 VOID
104 NTAPI
106 
107 _Releases_lock_(_Global_critical_region_)
110 VOID
111 NTAPI
113 
116 VOID
117 NTAPI
118 KeBugCheck(
119  _In_ ULONG BugCheckCode);
121 $if (_WDMDDK_ || _NTDDK_)
122 #if defined(SINGLE_GROUP_LEGACY_API)
124 
125 $if (_WDMDDK_)
129 VOID
130 NTAPI
132 
136 VOID
137 NTAPI
140 
142 VOID
143 NTAPI
146  _In_ CCHAR Number);
147 
149 KAFFINITY
150 NTAPI
153 $if (_NTDDK_)
154 
156 VOID
157 NTAPI
160  _In_ CCHAR Number);
161 
163 KAFFINITY
164 NTAPI
166 $endif (_NTDDK_)
167 $if (_WDMDDK_ || _NTDDK_)
168 #endif /* defined(SINGLE_GROUP_LEGACY_API) */
170 
171 $if (_WDMDDK_)
172 #if !defined(_M_AMD64)
174 ULONGLONG
175 NTAPI
177 
179 VOID
180 NTAPI
182  _Out_ PLARGE_INTEGER CurrentTime);
183 #endif /* !_M_AMD64 */
184 
185 #if !defined(_X86_) && !defined(_M_ARM)
192 KIRQL
193 NTAPI
196 
197 #define KeAcquireSpinLock(SpinLock, OldIrql) \
198  *(OldIrql) = KeAcquireSpinLockRaiseToDpc(SpinLock)
199 
204 VOID
205 NTAPI
208 
213 VOID
214 NTAPI
218 
223 VOID
224 NTAPI
227 #endif /* !_X86_ */
228 
229 #if defined(_X86_) && (defined(_WDM_INCLUDED_) || defined(WIN9X_COMPAT_SPINLOCK))
231 VOID
232 NTAPI
235 #else
237 VOID
239 {
240  /* Clear the lock */
241  *SpinLock = 0;
242 }
243 #endif
244 
247 VOID
248 NTAPI
250  _In_ ULONG BugCheckCode,
251  _In_ ULONG_PTR BugCheckParameter1,
252  _In_ ULONG_PTR BugCheckParameter2,
253  _In_ ULONG_PTR BugCheckParameter3,
254  _In_ ULONG_PTR BugCheckParameter4);
255 
258 BOOLEAN
259 NTAPI
261  _Inout_ PKTIMER);
262 
266 NTSTATUS
267 NTAPI
269  _In_ KPROCESSOR_MODE WaitMode,
272 
275 BOOLEAN
276 NTAPI
279 
280 _Acquires_lock_(_Global_critical_region_)
283 VOID
284 NTAPI
286 
289 VOID
290 NTAPI
292  _Out_ PKDEVICE_QUEUE DeviceQueue);
293 
295 VOID
296 NTAPI
299  _In_ PKDEFERRED_ROUTINE DeferredRoutine,
301 
303 VOID
304 NTAPI
307  _In_ ULONG Level);
308 
311 VOID
312 NTAPI
314  _Out_ PRKSEMAPHORE Semaphore,
316  _In_ LONG Limit);
317 
320 VOID
321 NTAPI
324 
327 VOID
328 NTAPI
332 
335 BOOLEAN
336 NTAPI
338  _Inout_ PKDEVICE_QUEUE DeviceQueue,
340  _In_ ULONG SortKey);
341 
344 BOOLEAN
345 NTAPI
347  _Inout_ PKDEVICE_QUEUE DeviceQueue,
349 
351 BOOLEAN
352 NTAPI
357 
358 _Releases_lock_(_Global_critical_region_)
361 VOID
362 NTAPI
364 
365 NTHALAPI
367 NTAPI
369  _Out_opt_ PLARGE_INTEGER PerformanceFrequency);
370 
373 KPRIORITY
374 NTAPI
377 
379 ULONG
380 NTAPI
382 
385 LONG
386 NTAPI
389 
392 LONG
393 NTAPI
394 KeReadStateMutex(
396 
399 LONG
400 NTAPI
402  _In_ PRKSEMAPHORE Semaphore);
403 
406 BOOLEAN
407 NTAPI
409  _In_ PKTIMER Timer);
410 
413 BOOLEAN
414 NTAPI
419  _In_ ULONG Length,
421 
425 LONG
426 NTAPI
429  _In_ BOOLEAN Wait);
430 
434 LONG
435 NTAPI
437  _Inout_ PRKSEMAPHORE Semaphore,
441 
445 NTAPI
447  _Inout_ PKDEVICE_QUEUE DeviceQueue,
448  _In_ ULONG SortKey);
449 
453 NTAPI
455  _Inout_ PKDEVICE_QUEUE DeviceQueue);
456 
459 BOOLEAN
460 NTAPI
462  _Inout_ PKDEVICE_QUEUE DeviceQueue,
464 
467 BOOLEAN
468 NTAPI
470  _Inout_ PRKDPC Dpc);
471 
474 LONG
475 NTAPI
478 
482 LONG
483 NTAPI
484 KeSetEvent(
488 
490 VOID
491 NTAPI
495 
499 KPRIORITY
500 NTAPI
504 
507 BOOLEAN
508 NTAPI
509 KeSetTimer(
512  _In_opt_ PKDPC Dpc);
513 
516 BOOLEAN
517 NTAPI
522  _In_opt_ PKDPC Dpc);
523 
524 NTHALAPI
525 VOID
526 NTAPI
528  _In_ ULONG MicroSeconds);
529 
532 BOOLEAN
533 NTAPI
538 
543 NTSTATUS
544 NTAPI
546  _In_ ULONG Count,
548  _In_ __drv_strictTypeMatch(__drv_typeConst) WAIT_TYPE WaitType,
549  _In_ __drv_strictTypeMatch(__drv_typeCond) KWAIT_REASON WaitReason,
550  _In_ __drv_strictType(KPROCESSOR_MODE/enum _MODE,__drv_typeConst) KPROCESSOR_MODE WaitMode,
554 
555 #define KeWaitForMutexObject KeWaitForSingleObject
556 
561 NTSTATUS
562 NTAPI
565  _In_ __drv_strictTypeMatch(__drv_typeCond) KWAIT_REASON WaitReason,
566  _In_ __drv_strictType(KPROCESSOR_MODE/enum _MODE,__drv_typeConst) KPROCESSOR_MODE WaitMode,
570 $if (_NTIFS_)
571 
573 VOID
574 NTAPI
576  _Out_ PRKMUTANT Mutant,
578 
581 LONG
582 NTAPI
584  _In_ PRKMUTANT Mutant);
585 
589 LONG
590 NTAPI
592  _Inout_ PRKMUTANT Mutant,
595  _In_ BOOLEAN Wait);
596 
598 VOID
599 NTAPI
602  _In_ ULONG Count);
603 
606 LONG
607 NTAPI
610 
614 LONG
615 NTAPI
619 
623 LONG
624 NTAPI
628 
634 NTAPI
637  _In_ KPROCESSOR_MODE WaitMode,
639 
642 VOID
643 NTAPI
646 
649 VOID
650 NTAPI
652 
656 NTAPI
659 
662 VOID
663 NTAPI
667 
670 VOID
671 NTAPI
674 
678 UCHAR
679 NTAPI
683 
686 BOOLEAN
687 NTAPI
690 
691 #if defined(_X86_)
696 NTHALAPI
697 KIRQL
698 FASTCALL
701 #else
707 KIRQL
710 #endif
711 $endif (_NTIFS_)
712 
713 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
714 
715 #if (NTDDI_VERSION >= NTDDI_WINXP)
716 
717 $if (_WDMDDK_)
722 _IRQL_saves_global_(QueuedSpinLock,LockHandle)
725 VOID
726 FASTCALL
730 
736 VOID
737 FASTCALL
741 
743 _Acquires_lock_(*Interrupt->ActualLock)
748 KIRQL
749 NTAPI
752 
756 BOOLEAN
757 NTAPI
759 
761 ULONG
762 NTAPI
764 
767 ULONG
768 NTAPI
772 
777 VOID
778 FASTCALL
781 
782 _Requires_lock_held_(*Interrupt->ActualLock)
783 _Releases_lock_(*Interrupt->ActualLock)
786 VOID
787 NTAPI
791 
795 NTAPI
797  _Inout_ PKDEVICE_QUEUE DeviceQueue,
798  _In_ ULONG SortKey);
799 
803 _IRQL_restores_global_(QueuedSpinLock,LockHandle)
805 VOID
806 FASTCALL
810 $if (_NTDDK_)
814 BOOLEAN
815 NTAPI
817 $endif (_NTDDK_)
818 $if (_NTIFS_)
819 
824 KIRQL
825 FASTCALL
828 
832 VOID
833 FASTCALL
836  _In_ KIRQL OldIrql);
837 
839 _Post_satisfies_(return == 1 || return == 0)
841 LOGICAL
842 FASTCALL
846 $endif (_NTIFS_)
847 
848 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
849 
850 $if (_WDMDDK_)
851 #if (NTDDI_VERSION >= NTDDI_WINXPSP1)
852 
855 BOOLEAN
856 NTAPI
859 
862 BOOLEAN
863 NTAPI
869 
870 #endif /* (NTDDI_VERSION >= NTDDI_WINXPSP1) */
871 
872 #if (NTDDI_VERSION >= NTDDI_WINXPSP2)
875 VOID
876 NTAPI
878 #endif /* (NTDDI_VERSION >= NTDDI_WINXPSP2) */
880 $if (_WDMDDK_ || _NTDDK_)
881 #if (NTDDI_VERSION >= NTDDI_WS03)
883 
884 $if (_WDMDDK_)
887 PVOID
888 NTAPI
892 
895 NTSTATUS
896 NTAPI
898  _In_ PVOID Handle);
899 
901 VOID
902 NTAPI
904  _Out_ PRKDPC Dpc,
905  _In_ PKDEFERRED_ROUTINE DeferredRoutine,
907 
911 ULONG_PTR
912 NTAPI
914  _In_ PKIPI_BROADCAST_WORKER BroadcastFunction,
916 
922 KIRQL
923 FASTCALL
926 
931 VOID
932 FASTCALL
936 
939 BOOLEAN
940 FASTCALL
944 
945 $if (_NTDDK_)
947 BOOLEAN
948 NTAPI
950 $endif (_NTDDK_)
951 $if (_WDMDDK_ || _NTDDK_)
952 #endif /* (NTDDI_VERSION >= NTDDI_WS03) */
954 $if (_WDMDDK_ || _NTDDK_)
955 #if (NTDDI_VERSION >= NTDDI_WS03SP1)
957 
958 $if (_WDMDDK_)
961 _Post_satisfies_(return == 1 || return == 0)
963 BOOLEAN
964 FASTCALL
967  _When_(return!=0, _Acquires_lock_(*_Curr_))
969 
973 BOOLEAN
974 NTAPI
976 
977 _Acquires_lock_(_Global_critical_region_)
983 VOID
984 FASTCALL
986  _Inout_ PKGUARDED_MUTEX GuardedMutex);
987 
988 _Requires_lock_not_held_(*FastMutex)
989 _Acquires_lock_(*FastMutex)
993 VOID
994 FASTCALL
996  _Inout_ PKGUARDED_MUTEX GuardedMutex);
997 
998 _Acquires_lock_(_Global_critical_region_)
1001 VOID
1002 NTAPI
1004 
1005 _Releases_lock_(_Global_critical_region_)
1008 VOID
1009 NTAPI
1011 
1015 VOID
1016 FASTCALL
1018  _Out_ PKGUARDED_MUTEX GuardedMutex);
1019 
1020 _Requires_lock_held_(*FastMutex)
1021 _Releases_lock_(*FastMutex)
1024 VOID
1025 FASTCALL
1027  _Inout_ PKGUARDED_MUTEX GuardedMutex);
1028 
1029 _Releases_lock_(_Global_critical_region_)
1034 VOID
1035 FASTCALL
1037  _Inout_ PKGUARDED_MUTEX GuardedMutex);
1038 
1042 _Post_satisfies_(return == 1 || return == 0)
1044 BOOLEAN
1045 FASTCALL
1047  _When_ (return, _Requires_lock_not_held_(*_Curr_) _Acquires_exclusive_lock_(*_Curr_)) _Acquires_lock_(_Global_critical_region_)
1048  _Inout_ PKGUARDED_MUTEX GuardedMutex);
1049 $endif (_WDMDDK_)
1050 $if (_NTDDK_)
1054 NTSTATUS
1055 NTAPI
1056 KeExpandKernelStackAndCallout(
1057  _In_ PEXPAND_STACK_CALLOUT Callout,
1059  _In_ SIZE_T Size);
1060 
1061 _Acquires_lock_(_Global_critical_region_)
1064 VOID
1065 NTAPI
1067 
1068 _Releases_lock_(_Global_critical_region_)
1071 VOID
1072 NTAPI
1074 $endif (_NTDDK_)
1075 $if (_WDMDDK_ || _NTDDK_)
1076 #endif /* (NTDDI_VERSION >= NTDDI_WS03SP1) */
1077 $endif (_WDMDDK_ || _NTDDK_)
1078 
1079 #if (NTDDI_VERSION >= NTDDI_VISTA)
1080 $if (_WDMDDK_)
1085 _IRQL_saves_global_(QueuedSpinLock,LockHandle)
1087 VOID
1088 FASTCALL
1092 
1096 _IRQL_restores_global_(QueuedSpinLock,LockHandle)
1098 VOID
1099 FASTCALL
1102 
1105 NTSTATUS
1106 NTAPI
1107 KeQueryDpcWatchdogInformation(
1108  _Out_ PKDPC_WATCHDOG_INFORMATION WatchdogInformation);
1109 $endif (_WDMDDK_)
1110 $if (_WDMDDK_ || _NTDDK_)
1111 #if defined(SINGLE_GROUP_LEGACY_API)
1112 $endif (_WDMDDK_ || _NTDDK_)
1113 
1114 $if (_WDMDDK_)
1118 KAFFINITY
1119 NTAPI
1120 KeSetSystemAffinityThreadEx(
1122 
1126 VOID
1127 NTAPI
1128 KeRevertToUserAffinityThreadEx(
1130 
1132 ULONG
1133 NTAPI
1135  _Out_opt_ PKAFFINITY ActiveProcessors);
1136 
1138 ULONG
1139 NTAPI
1140 KeQueryMaximumProcessorCount(VOID);
1141 $endif (_WDMDDK_)
1142 $if (_NTDDK_)
1144 ULONG
1145 NTAPI
1147  _Out_opt_ PKAFFINITY ActiveProcessors);
1148 
1150 ULONG
1151 NTAPI
1152 KeQueryMaximumProcessorCount(VOID);
1153 $endif (_NTDDK_)
1154 $if (_WDMDDK_ || _NTDDK_)
1155 #endif /* SINGLE_GROUP_LEGACY_API */
1156 $endif (_WDMDDK_ || _NTDDK_)
1157 $if (_NTIFS_)
1160 VOID
1161 KeQueryOwnerMutant(
1162  _In_ PKMUTANT Mutant,
1164 
1169 ULONG
1170 NTAPI
1171 KeRemoveQueueEx(
1173  _In_ KPROCESSOR_MODE WaitMode,
1176  _Out_writes_to_(Count, return) PLIST_ENTRY *EntryArray,
1177  _In_ ULONG Count);
1178 $endif (_NTIFS_)
1179 
1180 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
1181 
1182 $if (_WDMDDK_)
1183 #if (NTDDI_VERSION >= NTDDI_WS08)
1184 
1186 PVOID
1187 NTAPI
1188 KeRegisterProcessorChangeCallback(
1191  _In_ ULONG Flags);
1192 
1194 VOID
1195 NTAPI
1196 KeDeregisterProcessorChangeCallback(
1197  _In_ PVOID CallbackHandle);
1198 
1199 #endif /* (NTDDI_VERSION >= NTDDI_WS08) */
1200 $endif (_WDMDDK_)
1201 $if (_WDMDDK_ || _NTDDK_)
1202 #if (NTDDI_VERSION >= NTDDI_WIN7)
1203 
1205 ULONG
1206 NTAPI
1207 KeQueryActiveProcessorCountEx(
1208  _In_ USHORT GroupNumber);
1209 
1211 ULONG
1212 NTAPI
1214  _In_ USHORT GroupNumber);
1215 
1217 USHORT
1218 NTAPI
1220 
1222 USHORT
1223 NTAPI
1225 
1227 KAFFINITY
1228 NTAPI
1230  _In_ USHORT GroupNumber);
1231 
1233 ULONG
1234 NTAPI
1236  _Out_opt_ PPROCESSOR_NUMBER ProcNumber);
1237 
1239 VOID
1240 NTAPI
1245 
1247 USHORT
1248 NTAPI
1251 
1253 USHORT
1254 NTAPI
1256 
1258 USHORT
1259 NTAPI
1261 
1264 NTSTATUS
1265 NTAPI
1266 KeQueryLogicalProcessorRelationship(
1267  _In_opt_ PPROCESSOR_NUMBER ProcessorNumber OPTIONAL,
1271 
1272 $endif (_WDMDDK_ || _NTDDK_)
1273 
1274 $if (_WDMDDK_)
1278 ULONG64
1279 NTAPI
1280 KeQueryTotalCycleTimeProcess(
1283 
1287 ULONG64
1288 NTAPI
1289 KeQueryTotalCycleTimeThread(
1292 
1295 NTSTATUS
1296 NTAPI
1298  _Inout_ PKDPC Dpc,
1299  _In_ PPROCESSOR_NUMBER ProcNumber);
1300 
1304 VOID
1305 NTAPI
1306 KeSetSystemGroupAffinityThread(
1309 
1313 VOID
1314 NTAPI
1315 KeRevertToUserGroupAffinityThread(
1317 
1320 BOOLEAN
1321 NTAPI
1322 KeSetCoalescableTimer(
1325  _In_ ULONG Period,
1327  _In_opt_ PKDPC Dpc);
1328 
1330 ULONGLONG
1331 NTAPI
1333 
1336 _Ret_range_(<=, 0)
1339 NTSTATUS
1340 NTAPI
1341 KeSaveExtendedProcessorState(
1342  _In_ ULONG64 Mask,
1344  _When_(return==0, _Acquires_lock_(*_Curr_))
1345  PXSTATE_SAVE XStateSave);
1346 
1349 VOID
1350 NTAPI
1352  _In_ _Requires_lock_held_(*_Curr_) _Releases_lock_(*_Curr_)
1353  PXSTATE_SAVE XStateSave);
1354 
1355 NTSTATUS
1356 NTAPI
1358  _In_ ULONG ProcIndex,
1359  _Out_ PPROCESSOR_NUMBER ProcNumber);
1360 
1361 ULONG
1362 NTAPI
1364  _In_ PPROCESSOR_NUMBER ProcNumber);
1365 $endif (_WDMDDK_)
1366 $if (_NTDDK_)
1369 NTSTATUS
1370 NTAPI
1371 KeSetHardwareCounterConfiguration(
1373  _In_ ULONG Count);
1374 
1377 NTSTATUS
1378 NTAPI
1379 KeQueryHardwareCounterConfiguration(
1382  _Out_ PULONG Count);
1383 $endif (_NTDDK_)
1384 $if (_WDMDDK_ || _NTDDK_)
1385 #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
1386 $endif (_WDMDDK_ || _NTDDK_)
1387 $if (_WDMDDK_)
1388 #if !defined(_IA64_)
1389 NTHALAPI
1390 VOID
1391 NTAPI
1393 #endif
1394 
1395 /* VOID
1396  * KeInitializeCallbackRecord(
1397  * IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord)
1398  */
1399 #define KeInitializeCallbackRecord(CallbackRecord) \
1400  (CallbackRecord)->State = BufferEmpty;
1401 
1402 #if defined(_PREFAST_)
1403 
1404 void __PREfastPagedCode(void);
1405 void __PREfastPagedCodeLocked(void);
1406 #define PAGED_CODE() __PREfastPagedCode();
1407 #define PAGED_CODE_LOCKED() __PREfastPagedCodeLocked();
1408 
1409 #elif DBG
1410 
1411 #if (NTDDI_VERSION >= NTDDI_VISTA)
1412 #define PAGED_ASSERT( exp ) NT_ASSERT( exp )
1413 #else
1414 #define PAGED_ASSERT( exp ) ASSERT( exp )
1415 #endif
1416 
1417 #define PAGED_CODE() { \
1418  if (KeGetCurrentIrql() > APC_LEVEL) { \
1419  KdPrint( ("NTDDK: Pageable code called at IRQL > APC_LEVEL (%d)\n", KeGetCurrentIrql() )); \
1420  PAGED_ASSERT(FALSE); \
1421  } \
1422 }
1423 
1424 #define PAGED_CODE_LOCKED() NOP_FUNCTION;
1425 
1426 #else
1427 
1428 #define PAGED_CODE() NOP_FUNCTION;
1429 #define PAGED_CODE_LOCKED() NOP_FUNCTION;
1430 
1431 #endif /* DBG */
1432 
1433 $endif (_WDMDDK_)
NTKERNELAPI ULONGLONG NTAPI KeQueryUnbiasedInterruptTime(VOID)
_In_ LARGE_INTEGER _In_ ULONG _In_ ULONG TolerableDelay
Definition: kefuncs.h:1324
_Requires_lock_held_ SpinLock _Releases_lock_ SpinLock _In_ _IRQL_restores_ KIRQL NewIrql
Definition: kefuncs.h:217
ULONG NTAPI KeQueryRuntimeThread(IN PKTHREAD Thread, OUT PULONG UserTime)
Definition: thrdobj.c:980
NTKERNELAPI DECLSPEC_NORETURN VOID NTAPI KeBugCheck(_In_ ULONG BugCheckCode)
return
Definition: dirsup.c:529
NTKERNELAPI ULONG NTAPI KeGetRecommendedSharedDataAlignment(VOID)
Definition: cpu.c:474
* PPROCESSOR_NUMBER
Definition: ntbasedef.h:642
#define _Must_inspect_result_
Definition: no_sal2.h:62
_In_ LONG Count
Definition: kefuncs.h:315
BOOLEAN NTAPI KeSetTimer(IN OUT PKTIMER Timer, IN LARGE_INTEGER DueTime, IN PKDPC Dpc OPTIONAL)
Definition: timerobj.c:281
NTHALAPI VOID NTAPI KeStallExecutionProcessor(_In_ ULONG MicroSeconds)
Definition: delay.c:30
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
LONG NTAPI KeInsertHeadQueue(IN PKQUEUE Queue, IN PLIST_ENTRY Entry)
Definition: queue.c:172
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
Definition: wdfdpc.h:107
ULONG NTAPI KeGetProcessorIndexFromNumber(_In_ PPROCESSOR_NUMBER ProcNumber)
BOOLEAN NTAPI KeAreAllApcsDisabled(VOID)
Definition: apc.c:985
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
VOID FASTCALL KeAcquireGuardedMutex(IN PKGUARDED_MUTEX GuardedMutex)
Definition: gmutex.c:42
#define NTHALAPI
Definition: ntoskrnl.h:40
_In_opt_ PVOID CallbackContext
Definition: kefuncs.h:1190
NTKERNELAPI VOID NTAPI KeQueryNodeActiveAffinity(_In_ USHORT NodeNumber, _Out_opt_ PGROUP_AFFINITY Affinity, _Out_opt_ PUSHORT Count)
KIPI_BROADCAST_WORKER * PKIPI_BROADCAST_WORKER
Definition: ketypes.h:605
$include(setypes.h) $include(obtypes.h) $include(rtltypes.h) $include(rtlfuncs.h) _IRQL_requires_max_(PASSIVE_LEVEL) __kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryObject(_In_opt_ HANDLE Handle
NTKERNELAPI VOID NTAPI KeInitializeMutex(_Out_ PRKMUTEX Mutex, _In_ ULONG Level)
_In_ ULONG Component
Definition: potypes.h:496
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
Definition: wdfdevice.h:2221
VOID NTAPI KeRevertToUserAffinityThread(VOID)
Definition: thrdobj.c:1030
_In_ WDFDPC _In_ BOOLEAN Wait
Definition: wdfdpc.h:167
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
VOID NTAPI KeInitializeMutant(IN PKMUTANT Mutant, IN BOOLEAN InitialOwner)
Definition: mutex.c:22
unsigned char * PUCHAR
Definition: retypes.h:3
VOID NTAPI KeAcquireSpinLockAtDpcLevel(IN PKSPIN_LOCK SpinLock)
Definition: spinlock.c:192
LONG NTSTATUS
Definition: precomp.h:26
_Inout_ PKDEVICE_QUEUE_ENTRY _In_ ULONG SortKey
Definition: kefuncs.h:339
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:140
BOOLEAN NTAPI KeReadStateTimer(IN PKTIMER Timer)
Definition: timerobj.c:269
#define NTKRNLVISTAAPI
#define _NTIFS_
Definition: ifssupp.h:20
VOID NTAPI KeInitializeDeviceQueue(IN PKDEVICE_QUEUE DeviceQueue)
Definition: devqueue.c:22
NTKERNELAPI DECLSPEC_NORETURN VOID NTAPI KeBugCheckEx(_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)
Definition: rtlcompat.c:108
BOOLEAN NTAPI KeRemoveQueueDpc(IN PKDPC Dpc)
Definition: dpc.c:877
_In_ LARGE_INTEGER _In_ ULONG Period
Definition: kefuncs.h:1324
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
_In_ UCHAR Processor
Definition: kefuncs.h:682
#define _WDMDDK_
Definition: wdm.template.h:26
$if(_WDMDDK_) NTKERNELAPI VOID NTAPI KeInitializeEvent(_Out_ PRKEVENT Event
Definition: ke.h:1
NTHALAPI LARGE_INTEGER NTAPI KeQueryPerformanceCounter(_Out_opt_ PLARGE_INTEGER PerformanceFrequency)
LONG NTAPI KeSetBasePriorityThread(IN PKTHREAD Thread, IN LONG Increment)
Definition: thrdobj.c:1184
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:55
KSPIN_LOCK * PKSPIN_LOCK
Definition: env_spec_w32.h:73
BOOLEAN NTAPI KeSetTimerEx(IN OUT PKTIMER Timer, IN LARGE_INTEGER DueTime, IN LONG Period, IN PKDPC Dpc OPTIONAL)
Definition: timerobj.c:294
KPRIORITY NTAPI KeQueryPriorityThread(IN PKTHREAD Thread)
Definition: thrdobj.c:1017
#define _Ret_range_(l, h)
Definition: no_sal2.h:372
_Acquires_exclusive_lock_(Vcb->Resource)) FINISHED FatAcquireExclusiveVcb_Real(IN PIRP_CONTEXT IrpContext
NTKRNLVISTAAPI USHORT NTAPI KeGetCurrentNodeNumber(VOID)
_In_ PVOID Parameter
Definition: ldrtypes.h:241
VOID FASTCALL KeAcquireInStackQueuedSpinLock(IN PKSPIN_LOCK SpinLock, IN PKLOCK_QUEUE_HANDLE LockHandle)
Definition: spinlock.c:130
LONG NTAPI KeReleaseMutex(IN PKMUTEX Mutex, IN BOOLEAN Wait)
Definition: mutex.c:189
LONG NTAPI KeSetEvent(IN PKEVENT Event, IN KPRIORITY Increment, IN BOOLEAN Wait)
Definition: eventobj.c:159
NTSTATUS NTAPI KeWaitForSingleObject(IN PVOID Object, IN KWAIT_REASON WaitReason, IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL)
Definition: wait.c:416
#define FASTCALL
Definition: nt_native.h:50
NTKERNELAPI VOID NTAPI KeSetImportanceDpc(_Inout_ PRKDPC Dpc, _In_ KDPC_IMPORTANCE Importance)
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
Definition: wdfrequest.h:1044
#define DECLSPEC_NORETURN
Definition: ntbasedef.h:176
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:143
_In_ PCALLBACK_FUNCTION CallbackFunction
Definition: exfuncs.h:1034
LONG KPRIORITY
Definition: compat.h:662
Definition: Mutex.h:15
#define _In_opt_
Definition: no_sal2.h:212
VOID NTAPI KeSetSystemAffinityThread(IN KAFFINITY Affinity)
Definition: thrdobj.c:1116
KBUGCHECK_CALLBACK_ROUTINE * PKBUGCHECK_CALLBACK_ROUTINE
Definition: ketypes.h:320
_Acquires_lock_(_Global_critical_region_) _IRQL_requires_max_(APC_LEVEL) NTKERNELAPI VOID NTAPI KeEnterCriticalRegion(VOID)
Definition: Object.c:59
uint32_t ULONG_PTR
Definition: typedefs.h:65
PLIST_ENTRY NTAPI KeRundownQueue(IN PKQUEUE Queue)
Definition: queue.c:438
_Out_ PUSHORT NodeNumber
Definition: iofuncs.h:2570
#define _Out_writes_bytes_(s)
Definition: no_sal2.h:178
UCHAR KIRQL
Definition: env_spec_w32.h:591
_Must_inspect_result_ _In_ PFLT_GET_OPERATION_STATUS_CALLBACK CallbackRoutine
Definition: fltkernel.h:1035
KBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord
_In_ LOGICAL_PROCESSOR_RELATIONSHIP RelationshipType
Definition: kefuncs.h:1268
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
#define FALSE
Definition: types.h:117
VOID NTAPI KeStackAttachProcess(IN PKPROCESS Process, OUT PRKAPC_STATE ApcState)
Definition: procobj.c:701
_In_ KPRIORITY _In_ BOOLEAN Abandoned
Definition: kefuncs.h:593
_In_ KPRIORITY _In_ LONG Adjustment
Definition: kefuncs.h:438
long LONG
Definition: pedump.c:60
NTKERNELAPI VOID NTAPI KeInitializeQueue(_Out_ PRKQUEUE Queue, _In_ ULONG Count)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
Definition: wdfsync.h:225
NTSTATUS NTAPI KeDelayExecutionThread(IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Interval OPTIONAL)
Definition: wait.c:283
LOGICAL FASTCALL KeTryToAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, OUT PKIRQL OldIrql)
Definition: spinlock.c:192
#define __drv_aliasesMem
Definition: btrfs_drv.h:205
_Requires_lock_held_ LockHandle _Releases_lock_ LockHandle LockHandle NTKERNELAPI VOID FASTCALL KeReleaseInStackQueuedSpinLockForDpc(_In_ PKLOCK_QUEUE_HANDLE LockHandle)
VOID NTAPI KeReleaseInterruptSpinLock(IN PKINTERRUPT Interrupt, IN KIRQL OldIrql)
Definition: spinlock.c:165
_Must_inspect_result_ NTKERNELAPI NTSTATUS NTAPI KeSetTargetProcessorDpcEx(_Inout_ PKDPC Dpc, _In_ PPROCESSOR_NUMBER ProcNumber)
FORCEINLINE VOID KeInitializeSpinLock(_Out_ PKSPIN_LOCK SpinLock)
Definition: kefuncs.h:238
NTKERNELAPI BOOLEAN NTAPI KeInsertQueueDpc(_Inout_ PRKDPC Dpc, _In_opt_ PVOID SystemArgument1, _In_opt_ PVOID SystemArgument2)
BOOLEAN NTAPI KeInsertByKeyDeviceQueue(IN PKDEVICE_QUEUE DeviceQueue, IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry, IN ULONG SortKey)
Definition: devqueue.c:83
KAFFINITY * PKAFFINITY
Definition: basetsd.h:197
VOID FASTCALL KeReleaseSpinLockForDpc(IN PKSPIN_LOCK SpinLock, IN KIRQL OldIrql)
Definition: spinlock.c:409
unsigned char BOOLEAN
_Requires_lock_held_ SpinLock _Releases_lock_ SpinLock _IRQL_requires_(DISPATCH_LEVEL) NTKERNELAPI VOID NTAPI KeReleaseSpinLock(_Inout_ PKSPIN_LOCK SpinLock
Definition: expool.c:1456
LONG NTAPI KeReadStateQueue(IN PKQUEUE Queue)
Definition: queue.c:226
_When_(Wait==0, _IRQL_requires_max_(DISPATCH_LEVEL)) _When_(Wait
static WCHAR Address[46]
Definition: ping.c:68
#define KeLeaveGuardedRegion()
Definition: ke_x.h:63
KSYNCHRONIZE_ROUTINE * PKSYNCHRONIZE_ROUTINE
Definition: ketypes.h:863
#define _Out_
Definition: no_sal2.h:160
VOID NTAPI KeInitializeTimer(OUT PKTIMER Timer)
Definition: timerobj.c:233
#define NTKERNELAPI
#define _IRQL_requires_same_
Definition: driverspecs.h:215
NTKRNLVISTAAPI ULONG NTAPI KeQueryActiveProcessorCount(OUT PKAFFINITY ActiveProcessors OPTIONAL)
Definition: ke.c:15
NTKERNELAPI USHORT NTAPI KeQueryNodeMaximumProcessorCount(_In_ USHORT NodeNumber)
Definition: bufpool.h:45
_In_ KPRIORITY Increment
Definition: kefuncs.h:88
LONG NTAPI KePulseEvent(IN PKEVENT Event, IN KPRIORITY Increment, IN BOOLEAN Wait)
Definition: eventobj.c:68
KBUGCHECK_REASON_CALLBACK_ROUTINE * PKBUGCHECK_REASON_CALLBACK_ROUTINE
Definition: ketypes.h:259
WaitType
Definition: shlextdbg.cpp:17
PKDEVICE_QUEUE_ENTRY NTAPI KeRemoveByKeyDeviceQueueIfBusy(IN PKDEVICE_QUEUE DeviceQueue, IN ULONG SortKey)
Definition: devqueue.c:273
PROCESSOR_CALLBACK_FUNCTION * PPROCESSOR_CALLBACK_FUNCTION
Definition: ketypes.h:362
_Must_inspect_result_ _In_ __in_data_source(USER_MODE) SIZE_T Size
#define _Kernel_float_restored_
Definition: driverspecs.h:222
#define _Points_to_data_
Definition: no_sal2.h:408
*Count PHARDWARE_COUNTER CounterArray
Definition: kefuncs.h:1380
_Must_inspect_result_ NTKERNELAPI BOOLEAN NTAPI KeDeregisterBugCheckCallback(_Inout_ PKBUGCHECK_CALLBACK_RECORD CallbackRecord)
enum _EVENT_TYPE EVENT_TYPE
_Out_ PULONG UserTime
Definition: kefuncs.h:771
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:675
BOOLEAN NTAPI KeInvalidateAllCaches(VOID)
Definition: cpu.c:462
#define _Requires_lock_not_held_(a)
Definition: btrfs_drv.h:214
#define _Out_opt_
Definition: no_sal2.h:214
enum _KDPC_IMPORTANCE KDPC_IMPORTANCE
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
VOID FASTCALL KeAcquireInStackQueuedSpinLockAtDpcLevel(IN PKSPIN_LOCK SpinLock, IN PKLOCK_QUEUE_HANDLE LockHandle)
Definition: spinlock.c:337
#define IPI_LEVEL
Definition: env_spec_w32.h:701
BOOLEAN NTAPI KeCancelTimer(IN OUT PKTIMER Timer)
Definition: timerobj.c:206
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
_Out_ PCLIENT_ID ClientId
Definition: kefuncs.h:1163
VOID NTAPI KeInitializeSemaphore(IN PKSEMAPHORE Semaphore, IN LONG Count, IN LONG Limit)
Definition: semphobj.c:22
_In_ PKSYNCHRONIZE_ROUTINE SynchronizeRoutine
Definition: kefuncs.h:536
enum _LOGICAL_PROCESSOR_RELATIONSHIP LOGICAL_PROCESSOR_RELATIONSHIP
KAFFINITY NTAPI KeQueryActiveProcessors(VOID)
Definition: cpu.c:436
_Must_inspect_result_ _Success_(return !=FALSE) _IRQL_requires_max_(APC_LEVEL) _Post_satisfies_(return
Returns the name of an atom.
Definition: fsctrl.c:3139
char CCHAR
Definition: typedefs.h:51
#define _DECL_HAL_KE_IMPORT
uint64_t ULONGLONG
Definition: typedefs.h:67
_Requires_lock_not_held_ SpinLock _Acquires_lock_ SpinLock _IRQL_raises_(SYNCH_LEVEL) _IRQL_saves_ NTKERNELAPI KIRQL KeAcquireSpinLockRaiseToSynch(_Inout_ PKSPIN_LOCK SpinLock)
NTKERNELAPI VOID NTAPI KeQuerySystemTime(_Out_ PLARGE_INTEGER CurrentTime)
VOID NTAPI KeReleaseSpinLockFromDpcLevel(IN PKSPIN_LOCK SpinLock)
Definition: spinlock.c:215
BOOLEAN NTAPI KeInsertDeviceQueue(IN PKDEVICE_QUEUE DeviceQueue, IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry)
Definition: devqueue.c:41
Type
Definition: Type.h:6
VOID FASTCALL KeReleaseQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, IN KIRQL OldIrql)
Definition: spinlock.c:154
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
Definition: halfuncs.h:170
enum _WAIT_TYPE WAIT_TYPE
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
_In_ BOOLEAN Alertable
Definition: kefuncs.h:270
#define _Inout_
Definition: no_sal2.h:162
KIRQL NTAPI KeAcquireInterruptSpinLock(IN PKINTERRUPT Interrupt)
Definition: spinlock.c:148
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
#define KeEnterGuardedRegion()
Definition: ke_x.h:34
NTSTATUS NTAPI KeWaitForMultipleObjects(IN ULONG Count, IN PVOID Object[], IN WAIT_TYPE WaitType, IN KWAIT_REASON WaitReason, IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL, OUT PKWAIT_BLOCK WaitBlockArray OPTIONAL)
Definition: wait.c:586
LONG NTAPI KeReleaseMutant(IN PKMUTANT Mutant, IN KPRIORITY Increment, IN BOOLEAN Abandon, IN BOOLEAN Wait)
Definition: mutex.c:98
_Requires_lock_held_(Number) _Releases_lock_(Number) _DECL_HAL_KE_IMPORT VOID FASTCALL KeReleaseQueuedSpinLock(_In_ KSPIN_LOCK_QUEUE_NUMBER Number
unsigned __int64 ULONG64
Definition: imports.h:198
enum _TIMER_TYPE TIMER_TYPE
VOID NTAPI KeDetachProcess(VOID)
Definition: procobj.c:618
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:651
unsigned char UCHAR
Definition: xmlstorage.h:181
*LockHandle LockHandle NTKERNELAPI VOID FASTCALL KeAcquireInStackQueuedSpinLockForDpc(_Inout_ PKSPIN_LOCK SpinLock, _Out_ PKLOCK_QUEUE_HANDLE LockHandle)
#define _IRQL_restores_global_(kind, param)
Definition: driverspecs.h:217
VOID FASTCALL KeReleaseGuardedMutexUnsafe(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: gmutex.c:75
_Out_ PKAPC_STATE ApcState
Definition: kefuncs.h:666
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:102
NMI_CALLBACK * PNMI_CALLBACK
Definition: ketypes.h:338
#define _Kernel_float_saved_
Definition: driverspecs.h:223
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:790
Definition: ketypes.h:687
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
Definition: ketypes.h:678
_Out_opt_ PGROUP_AFFINITY PreviousAffinity
Definition: kefuncs.h:1308
PLIST_ENTRY NTAPI KeRemoveQueue(IN PKQUEUE Queue, IN KPROCESSOR_MODE WaitMode, IN PLARGE_INTEGER Timeout OPTIONAL)
Definition: queue.c:238
BOOLEAN NTAPI KeRemoveEntryDeviceQueue(IN PKDEVICE_QUEUE DeviceQueue, IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry)
Definition: devqueue.c:348
#define KeEnterCriticalRegion()
Definition: ke_x.h:83
KIRQL * PKIRQL
Definition: env_spec_w32.h:592
_MODE
Definition: ketypes.h:10
Definition: typedefs.h:119
#define SYNCH_LEVEL
Definition: env_spec_w32.h:704
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
KIRQL FASTCALL KeAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber)
Definition: spinlock.c:108
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
Definition: ntpoapi.h:204
processorSet Mask
#define _Maybe_raises_SEH_exception_
Definition: no_sal2.h:396
_IRQL_requires_min_(PASSIVE_LEVEL) _IRQL_requires_max_(DISPATCH_LEVEL) NTKERNELAPI LONG NTAPI KeSetBasePriorityThread(_Inout_ PRKTHREAD Thread
NTKERNELAPI KAFFINITY NTAPI KeQueryGroupAffinity(_In_ USHORT GroupNumber)
_Must_inspect_result_ NTKERNELAPI BOOLEAN NTAPI KeRegisterBugCheckReasonCallback(_Out_ PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord, _In_ PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine, _In_ KBUGCHECK_CALLBACK_REASON Reason, _In_ PUCHAR Component)
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _Maybe_raises_SEH_exception_ _In_ __drv_strictType(KPROCESSOR_MODE/enum _MODE, __drv_typeConst) KPROCESSOR_MODE AccessMode)
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:675
VOID NTAPI KeFlushWriteBuffer(VOID)
Definition: misc.c:39
BOOLEAN NTAPI KeAreApcsDisabled(VOID)
Definition: apc.c:958
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
#define _In_
Definition: no_sal2.h:158
_In_ PKSYNCHRONIZE_ROUTINE _In_opt_ __drv_aliasesMem PVOID SynchronizeContext
Definition: kefuncs.h:536
ULONG_PTR SIZE_T
Definition: typedefs.h:80
enum _KSPIN_LOCK_QUEUE_NUMBER KSPIN_LOCK_QUEUE_NUMBER
LONG NTAPI KeReadStateMutant(IN PKMUTANT Mutant)
Definition: mutex.c:87
KIRQL FASTCALL KeAcquireSpinLockForDpc(IN PKSPIN_LOCK SpinLock)
Definition: spinlock.c:398
#define HIGH_LEVEL
Definition: env_spec_w32.h:703
NTKERNELAPI USHORT NTAPI KeQueryMaximumGroupCount(VOID)
VOID FASTCALL KeInitializeGuardedMutex(OUT PKGUARDED_MUTEX GuardedMutex)
Definition: gmutex.c:31
#define KeLeaveCriticalRegion()
Definition: ke_x.h:114
#define _Out_writes_to_(s, c)
Definition: no_sal2.h:188
static ULONG Timeout
Definition: ping.c:61
#define KeInitializeEvent(pEvt, foo, foo2)
Definition: env_spec_w32.h:477
NTKERNELAPI ULONG NTAPI KeQueryTimeIncrement(VOID)
Definition: clock.c:153
LONG NTAPI KeReleaseSemaphore(IN PKSEMAPHORE Semaphore, IN KPRIORITY Increment, IN LONG Adjustment, IN BOOLEAN Wait)
Definition: semphobj.c:54
Definition: ketypes.h:566
NTKERNELAPI ULONG NTAPI KeGetCurrentProcessorNumberEx(_Out_opt_ PPROCESSOR_NUMBER ProcNumber)
KPRIORITY NTAPI KeSetPriorityThread(IN PKTHREAD Thread, IN KPRIORITY Priority)
Definition: thrdobj.c:1327
unsigned short USHORT
Definition: pedump.c:61
_Releases_lock_(_Global_critical_region_) _IRQL_requires_max_(APC_LEVEL) NTKERNELAPI VOID NTAPI KeLeaveCriticalRegion(VOID)
Definition: Object.c:101
BOOLEAN FASTCALL KeTryToAcquireGuardedMutex(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: gmutex.c:86
ULONG_PTR KAFFINITY
Definition: compat.h:85
VOID NTAPI KeAttachProcess(IN PKPROCESS Process)
Definition: procobj.c:579
#define _At_(t, a)
Definition: no_sal2.h:40
VOID NTAPI KeUnstackDetachProcess(IN PRKAPC_STATE ApcState)
Definition: procobj.c:753
EXPAND_STACK_CALLOUT * PEXPAND_STACK_CALLOUT
Definition: ketypes.h:1100
LONG NTAPI KeInsertQueue(IN PKQUEUE Queue, IN PLIST_ENTRY Entry)
Definition: queue.c:198
LONG NTAPI KeReadStateSemaphore(IN PKSEMAPHORE Semaphore)
Definition: semphobj.c:41
PKDEVICE_QUEUE_ENTRY NTAPI KeRemoveDeviceQueue(IN PKDEVICE_QUEUE DeviceQueue)
Definition: devqueue.c:153
#define FORCEINLINE
Definition: wdftypes.h:67
unsigned int * PULONG
Definition: retypes.h:1
Definition: optimize.h:109
#define NULL
Definition: types.h:112
#define KeReleaseSpinLock(sl, irql)
Definition: env_spec_w32.h:627
#define __drv_strictTypeMatch(mode)
Definition: driverspecs.h:312
NTKERNELAPI ULONG NTAPI KeQueryMaximumProcessorCountEx(_In_ USHORT GroupNumber)
_In_ WDFTIMER _In_ LONGLONG DueTime
Definition: wdftimer.h:187
VOID FASTCALL KeReleaseGuardedMutex(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: gmutex.c:53
KIRQL FASTCALL KeAcquireSpinLockRaiseToSynch(PKSPIN_LOCK SpinLock)
Definition: spinlock.c:62
PKDEVICE_QUEUE_ENTRY NTAPI KeRemoveByKeyDeviceQueue(IN PKDEVICE_QUEUE DeviceQueue, IN ULONG SortKey)
Definition: devqueue.c:197
NTKERNELAPI USHORT NTAPI KeQueryActiveGroupCount(VOID)
KIRQL NTAPI KeAcquireSpinLockRaiseToDpc(PKSPIN_LOCK SpinLock)
Definition: spinlock.c:41
_In_ KDPC_IMPORTANCE Importance
Definition: kefuncs.h:80
VOID NTAPI KeSetTargetProcessorDpc(IN PKDPC Dpc, IN CCHAR Number)
Definition: dpc.c:970
#define _Literal_
Definition: no_sal2.h:400
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
enum _KWAIT_REASON KWAIT_REASON
#define _In_reads_bytes_opt_(s)
Definition: no_sal2.h:224
_In_ HANDLE Handle
Definition: extypes.h:390
*Count PHARDWARE_COUNTER _In_ ULONG MaximumCount
Definition: kefuncs.h:1380
LONG NTAPI KeReadStateEvent(IN PKEVENT Event)
Definition: eventobj.c:120
VOID FASTCALL KeAcquireGuardedMutexUnsafe(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: gmutex.c:64
LONG NTAPI KeResetEvent(IN PKEVENT Event)
Definition: eventobj.c:133
#define _Out_writes_bytes_opt_(s)
Definition: no_sal2.h:228
unsigned int ULONG
Definition: retypes.h:1
_Must_inspect_result_ _In_ WAIT_TYPE _In_opt_ PLARGE_INTEGER _In_opt_ PKWAIT_BLOCK WaitBlockArray
Definition: fsrtlfuncs.h:1151
BOOLEAN NTAPI KeSynchronizeExecution(IN OUT PKINTERRUPT Interrupt, IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine, IN PVOID SynchronizeContext OPTIONAL)
Definition: interrupt.c:142
unsigned __int64 * PULONG64
Definition: imports.h:198
KBUGCHECK_CALLBACK_REASON
Definition: ketypes.h:247
NTSTATUS NTAPI KeGetProcessorNumberFromIndex(_In_ ULONG ProcIndex, _Out_ PPROCESSOR_NUMBER ProcNumber)
NTSTATUS NTAPI KeDeregisterNmiCallback(IN PVOID Handle)
Definition: bug.c:1361
_Must_inspect_result_ NTKERNELAPI BOOLEAN NTAPI KeRegisterBugCheckCallback(_Out_ PKBUGCHECK_CALLBACK_RECORD CallbackRecord, _In_ PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine, _In_reads_bytes_opt_(Length) PVOID Buffer, _In_ ULONG Length, _In_ PUCHAR Component)
*LockHandle LockHandle _Out_ PKLOCK_QUEUE_HANDLE LockHandle
Definition: kefuncs.h:729
_In_ BOOLEAN _In_ PLARGE_INTEGER Interval
Definition: kefuncs.h:270
VOID FASTCALL KeReleaseInStackQueuedSpinLockFromDpcLevel(IN PKLOCK_QUEUE_HANDLE LockHandle)
Definition: spinlock.c:369
UCHAR NTAPI KeSetIdealProcessorThread(IN PKTHREAD Thread, IN UCHAR Processor)
Definition: thrdobj.c:1075
PVOID NTAPI KeRegisterNmiCallback(IN PNMI_CALLBACK CallbackRoutine, IN PVOID Context)
Definition: bug.c:1327
NTKRNLVISTAAPI USHORT NTAPI KeQueryHighestNodeNumber(VOID)
_Inout_ PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
Definition: kefuncs.h:339
#define _In_reads_(s)
Definition: no_sal2.h:168
VOID NTAPI KeClearEvent(IN PKEVENT Event)
Definition: eventobj.c:22
_Out_ PULONG64 CycleTimeStamp
Definition: kefuncs.h:1282
$endif(_WDMDDK_) $if(_NTDDK_) _IRQL_requires_min_(PASSIVE_LEVEL) _IRQL_requires_max_(DISPATCH_LEVEL) NTKERNELAPI VOID FASTCALL KeInvalidateRangeAllCaches(_In_ PVOID BaseAddress
Definition: ke.h:202
_Requires_lock_held_ LockHandle _Releases_lock_ LockHandle LockHandle _DECL_HAL_KE_IMPORT VOID FASTCALL KeReleaseInStackQueuedSpinLock(_In_ PKLOCK_QUEUE_HANDLE LockHandle)
BOOLEAN FASTCALL KeTryToAcquireSpinLockAtDpcLevel(IN OUT PKSPIN_LOCK SpinLock)
Definition: spinlock.c:303
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
Definition: env.c:45
NTKERNELAPI VOID NTAPI KeInitializeThreadedDpc(_Out_ PRKDPC Dpc, _In_ PKDEFERRED_ROUTINE DeferredRoutine, _In_opt_ PVOID DeferredContext)
#define APC_LEVEL
Definition: env_spec_w32.h:695
#define _IRQL_restores_
Definition: driverspecs.h:216
#define _Post_same_lock_(lock1, lock2)
_IRQL_requires_max_(DISPATCH_LEVEL) NTKERNELAPI VOID NTAPI KeClearEvent(_Inout_ PRKEVENT Event)
Definition: common.c:3557
_In_ BOOLEAN InitialOwner
Definition: kefuncs.h:577
VOID NTAPI KeFlushQueuedDpcs(VOID)
Definition: dpc.c:918
_In_ LONG _In_ LONG Limit
Definition: kefuncs.h:315
ULONGLONG NTAPI KeQueryInterruptTime(VOID)
Definition: clock.c:203
#define _IRQL_saves_
Definition: driverspecs.h:218
unsigned short * PUSHORT
Definition: retypes.h:2
#define CONST
Definition: pedump.c:81
_Must_inspect_result_ _Post_satisfies_(return==1||return==0) _DECL_HAL_KE_IMPORT LOGICAL FASTCALL KeTryToAcquireQueuedSpinLock(_In_ KSPIN_LOCK_QUEUE_NUMBER Number
#define _NTDDK_
base of all file and directory entries
Definition: entries.h:82
VOID NTAPI KeInitializeTimerEx(OUT PKTIMER Timer, IN TIMER_TYPE Type)
Definition: timerobj.c:244
NTKERNELAPI VOID NTAPI KeInitializeDpc(_Out_ __drv_aliasesMem PRKDPC Dpc, _In_ PKDEFERRED_ROUTINE DeferredRoutine, _In_opt_ __drv_aliasesMem PVOID DeferredContext)
* PKAPC_STATE
Definition: ketypes.h:1280
ULONG_PTR NTAPI KeIpiGenericCall(IN PKIPI_BROADCAST_WORKER Function, IN ULONG_PTR Argument)
Definition: ipi.c:196
BOOLEAN NTAPI KeDeregisterBugCheckReasonCallback(IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord)
Definition: bug.c:1229
BOOLEAN NTAPI KeSetKernelStackSwapEnable(IN BOOLEAN Enable)
Definition: thrdobj.c:997
_Kernel_float_restored_ NTKERNELAPI VOID NTAPI KeRestoreExtendedProcessorState(_In_ _Requires_lock_held_(*_Curr_) _Releases_lock_(*_Curr_) PXSTATE_SAVE XStateSave)
#define _IRQL_saves_global_(kind, param)
Definition: driverspecs.h:219
_Must_inspect_result_ NTKERNELAPI BOOLEAN FASTCALL KeTestSpinLock(_In_ PKSPIN_LOCK SpinLock)
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
_In_opt_ PVOID DeferredContext
Definition: ketypes.h:675