ReactOS  0.4.15-dev-439-g292f67a
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,
420  _In_ PUCHAR Component);
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
535  _Inout_ PKINTERRUPT Interrupt,
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
601  _Out_ PRKQUEUE Queue,
602  _In_ ULONG Count);
603 
606 LONG
607 NTAPI
609  _In_ PRKQUEUE Queue);
610 
614 LONG
615 NTAPI
617  _Inout_ PRKQUEUE Queue,
619 
623 LONG
624 NTAPI
626  _Inout_ PRKQUEUE Queue,
628 
634 NTAPI
636  _Inout_ PRKQUEUE Queue,
637  _In_ KPROCESSOR_MODE WaitMode,
639 
642 VOID
643 NTAPI
646 
649 VOID
650 NTAPI
652 
656 NTAPI
658  _Inout_ PRKQUEUE Queue);
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 
742 _Requires_lock_not_held_(*Interrupt->ActualLock)
743 _Acquires_lock_(*Interrupt->ActualLock)
748 KIRQL
749 NTAPI
751  _Inout_ PKINTERRUPT Interrupt);
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
789  _Inout_ PKINTERRUPT Interrupt,
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
868  _In_ PUCHAR Component);
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(
1172  _Inout_ PKQUEUE Queue,
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 $endif (_WDMDDK_ || _NTDDK_)
1204 
1205 $if (_WDMDDK_)
1209 ULONG64
1210 NTAPI
1211 KeQueryTotalCycleTimeProcess(
1214 
1218 ULONG64
1219 NTAPI
1220 KeQueryTotalCycleTimeThread(
1223 
1226 NTSTATUS
1227 NTAPI
1229  _Inout_ PKDPC Dpc,
1230  _In_ PPROCESSOR_NUMBER ProcNumber);
1231 
1235 VOID
1236 NTAPI
1237 KeSetSystemGroupAffinityThread(
1240 
1244 VOID
1245 NTAPI
1246 KeRevertToUserGroupAffinityThread(
1248 
1251 BOOLEAN
1252 NTAPI
1253 KeSetCoalescableTimer(
1256  _In_ ULONG Period,
1258  _In_opt_ PKDPC Dpc);
1259 
1261 ULONGLONG
1262 NTAPI
1264 
1266 ULONG
1267 NTAPI
1269  _In_ USHORT GroupNumber);
1270 
1272 ULONG
1273 NTAPI
1275  _In_ USHORT GroupNumber);
1276 
1278 USHORT
1279 NTAPI
1281 
1283 USHORT
1284 NTAPI
1286 
1288 KAFFINITY
1289 NTAPI
1291  _In_ USHORT GroupNumber);
1292 
1294 ULONG
1295 NTAPI
1297  _Out_opt_ PPROCESSOR_NUMBER ProcNumber);
1298 
1300 VOID
1301 NTAPI
1306 
1308 USHORT
1309 NTAPI
1312 
1314 USHORT
1315 NTAPI
1317 
1319 USHORT
1320 NTAPI
1322 
1325 NTSTATUS
1326 NTAPI
1327 KeQueryLogicalProcessorRelationship(
1328  _In_opt_ PPROCESSOR_NUMBER ProcessorNumber OPTIONAL,
1332 
1335 _Ret_range_(<=, 0)
1338 NTSTATUS
1339 NTAPI
1340 KeSaveExtendedProcessorState(
1341  _In_ ULONG64 Mask,
1343  _When_(return==0, _Acquires_lock_(*_Curr_))
1344  PXSTATE_SAVE XStateSave);
1345 
1348 VOID
1349 NTAPI
1351  _In_ _Requires_lock_held_(*_Curr_) _Releases_lock_(*_Curr_)
1352  PXSTATE_SAVE XStateSave);
1353 
1354 NTSTATUS
1355 NTAPI
1357  _In_ ULONG ProcIndex,
1358  _Out_ PPROCESSOR_NUMBER ProcNumber);
1359 
1360 ULONG
1361 NTAPI
1363  _In_ PPROCESSOR_NUMBER ProcNumber);
1364 $endif (_WDMDDK_)
1365 $if (_NTDDK_)
1367 ULONG
1368 NTAPI
1370  _In_ USHORT GroupNumber);
1371 
1373 ULONG
1374 NTAPI
1376  _In_ USHORT GroupNumber);
1377 
1379 USHORT
1380 NTAPI
1382 
1384 USHORT
1385 NTAPI
1387 
1389 KAFFINITY
1390 NTAPI
1392  _In_ USHORT GroupNumber);
1393 
1395 ULONG
1396 NTAPI
1398  _Out_opt_ PPROCESSOR_NUMBER ProcNumber);
1399 
1401 VOID
1402 NTAPI
1407 
1409 USHORT
1410 NTAPI
1413 
1415 USHORT
1416 NTAPI
1418 
1420 USHORT
1421 NTAPI
1423 
1426 NTSTATUS
1427 NTAPI
1428 KeQueryLogicalProcessorRelationship(
1429  _In_opt_ PPROCESSOR_NUMBER ProcessorNumber,
1433 
1436 NTSTATUS
1437 NTAPI
1438 KeSetHardwareCounterConfiguration(
1440  _In_ ULONG Count);
1441 
1444 NTSTATUS
1445 NTAPI
1446 KeQueryHardwareCounterConfiguration(
1449  _Out_ PULONG Count);
1450 $endif (_NTDDK_)
1451 $if (_WDMDDK_ || _NTDDK_)
1452 #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
1453 $endif (_WDMDDK_ || _NTDDK_)
1454 $if (_WDMDDK_)
1455 #if !defined(_IA64_)
1456 NTHALAPI
1457 VOID
1458 NTAPI
1460 #endif
1461 
1462 /* VOID
1463  * KeInitializeCallbackRecord(
1464  * IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord)
1465  */
1466 #define KeInitializeCallbackRecord(CallbackRecord) \
1467  (CallbackRecord)->State = BufferEmpty;
1468 
1469 #if defined(_PREFAST_)
1470 
1471 void __PREfastPagedCode(void);
1472 void __PREfastPagedCodeLocked(void);
1473 #define PAGED_CODE() __PREfastPagedCode();
1474 #define PAGED_CODE_LOCKED() __PREfastPagedCodeLocked();
1475 
1476 #elif DBG
1477 
1478 #if (NTDDI_VERSION >= NTDDI_VISTA)
1479 #define PAGED_ASSERT( exp ) NT_ASSERT( exp )
1480 #else
1481 #define PAGED_ASSERT( exp ) ASSERT( exp )
1482 #endif
1483 
1484 #define PAGED_CODE() { \
1485  if (KeGetCurrentIrql() > APC_LEVEL) { \
1486  KdPrint( ("NTDDK: Pageable code called at IRQL > APC_LEVEL (%d)\n", KeGetCurrentIrql() )); \
1487  PAGED_ASSERT(FALSE); \
1488  } \
1489 }
1490 
1491 #define PAGED_CODE_LOCKED() NOP_FUNCTION;
1492 
1493 #else
1494 
1495 #define PAGED_CODE() NOP_FUNCTION;
1496 #define PAGED_CODE_LOCKED() NOP_FUNCTION;
1497 
1498 #endif /* DBG */
1499 
1500 $endif (_WDMDDK_)
NTKERNELAPI ULONGLONG NTAPI KeQueryUnbiasedInterruptTime(VOID)
_In_ LARGE_INTEGER _In_ ULONG _In_ ULONG TolerableDelay
Definition: kefuncs.h:1255
_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)
#define _IRQL_requires_same_
Definition: no_sal2.h:652
return
Definition: dirsup.c:529
NTKERNELAPI ULONG NTAPI KeGetRecommendedSharedDataAlignment(VOID)
Definition: cpu.c:471
* PPROCESSOR_NUMBER
Definition: ntbasedef.h:649
#define _Must_inspect_result_
Definition: no_sal2.h:314
_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)
LONG NTAPI KeInsertHeadQueue(IN PKQUEUE Queue, IN PLIST_ENTRY Entry)
Definition: queue.c:172
Type
Definition: Type.h:6
ULONG NTAPI KeGetProcessorIndexFromNumber(_In_ PPROCESSOR_NUMBER ProcNumber)
BOOLEAN NTAPI KeAreAllApcsDisabled(VOID)
Definition: apc.c:985
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_ LARGE_INTEGER DueTime
Definition: kefuncs.h:511
#define _IRQL_saves_
Definition: no_sal2.h:655
VOID NTAPI KeRevertToUserAffinityThread(VOID)
Definition: thrdobj.c:1030
VOID NTAPI KeInitializeMutant(IN PKMUTANT Mutant, IN BOOLEAN InitialOwner)
Definition: mutex.c:22
unsigned char * PUCHAR
Definition: retypes.h:3
#define _In_reads_(size)
Definition: no_sal2.h:228
#define _In_reads_bytes_opt_(size)
Definition: no_sal2.h:230
VOID NTAPI KeAcquireSpinLockAtDpcLevel(IN PKSPIN_LOCK SpinLock)
Definition: spinlock.c:192
#define _Ret_range_(lb, ub)
Definition: no_sal2.h:613
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
_In_ KPRIORITY Priority
Definition: kefuncs.h:503
#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:1255
_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)
_Requires_lock_not_held_(Vcb->fcb_lock) _Acquires_shared_lock_(Vcb -> fcb_lock) static __inline void acquire_fcb_lock_shared(device_extension *Vcb)
Definition: btrfs_drv.h:967
NTKERNELAPI ULONG NTAPI KeQueryActiveProcessorCountEx(_In_ USHORT GroupNumber)
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
_Acquires_exclusive_lock_(Vcb->Resource)) FINISHED FatAcquireExclusiveVcb_Real(IN PIRP_CONTEXT IrpContext
_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
#define _Out_writes_to_(size, count)
Definition: no_sal2.h:378
NTKERNELAPI VOID NTAPI KeSetImportanceDpc(_Inout_ PRKDPC Dpc, _In_ KDPC_IMPORTANCE Importance)
#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:826
LONG KPRIORITY
Definition: compat.h:463
Definition: Mutex.h:15
#define _In_opt_
Definition: no_sal2.h:213
VOID NTAPI KeSetSystemAffinityThread(IN KAFFINITY Affinity)
Definition: thrdobj.c:1116
KBUGCHECK_CALLBACK_ROUTINE * PKBUGCHECK_CALLBACK_ROUTINE
Definition: ketypes.h:320
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK SpinLock
Definition: iofuncs.h:798
_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:64
PLIST_ENTRY NTAPI KeRundownQueue(IN PKQUEUE Queue)
Definition: queue.c:438
_Out_ PUSHORT NodeNumber
Definition: iofuncs.h:2567
UCHAR KIRQL
Definition: env_spec_w32.h:591
_Must_inspect_result_ _In_ PFLT_GET_OPERATION_STATUS_CALLBACK CallbackRoutine
Definition: fltkernel.h:1035
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
KBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord
_In_ LOGICAL_PROCESSOR_RELATIONSHIP RelationshipType
Definition: kefuncs.h:1329
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp: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)
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:1448
LONG NTAPI KeReadStateQueue(IN PKQUEUE Queue)
Definition: queue.c:226
smooth NULL
Definition: ftsmooth.c:416
_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_writes_bytes_(size)
Definition: no_sal2.h:370
#define FORCEINLINE
Definition: ntbasedef.h:221
#define _Out_
Definition: no_sal2.h:323
VOID NTAPI KeInitializeTimer(OUT PKTIMER Timer)
Definition: timerobj.c:233
#define _At_(target, annos)
Definition: no_sal2.h:11
#define NTKERNELAPI
#define _Kernel_float_restored_
Definition: no_sal2.h:659
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 _Points_to_data_
Definition: no_sal2.h:445
*Count PHARDWARE_COUNTER CounterArray
Definition: kefuncs.h:1447
_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_ LOGICAL_PROCESSOR_RELATIONSHIP _Out_writes_bytes_opt_ Length PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX Information
Definition: kefuncs.h:1330
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:675
BOOLEAN NTAPI KeInvalidateAllCaches(VOID)
Definition: cpu.c:459
#define _Out_opt_
Definition: no_sal2.h:339
enum _KDPC_IMPORTANCE KDPC_IMPORTANCE
_In_ HANDLE Handle
Definition: extypes.h:390
_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
_In_ LARGE_INTEGER _In_opt_ PKDPC Dpc
Definition: kefuncs.h:511
#define IPI_LEVEL
Definition: env_spec_w32.h:701
BOOLEAN NTAPI KeCancelTimer(IN OUT PKTIMER Timer)
Definition: timerobj.c:206
_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:433
_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:66
_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
NTKERNELAPI USHORT NTAPI KeQueryHighestNodeNumber(VOID)
BOOLEAN NTAPI KeInsertDeviceQueue(IN PKDEVICE_QUEUE DeviceQueue, IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry)
Definition: devqueue.c:41
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 _Post_same_lock_(lock1, lock2)
Definition: no_sal2.h:697
#define _Inout_
Definition: no_sal2.h:244
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
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
static IUnknown Object
Definition: main.c:512
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
unsigned char UCHAR
Definition: xmlstorage.h:181
*LockHandle LockHandle NTKERNELAPI VOID FASTCALL KeAcquireInStackQueuedSpinLockForDpc(_Inout_ PKSPIN_LOCK SpinLock, _Out_ PKLOCK_QUEUE_HANDLE LockHandle)
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
#define _Kernel_float_saved_
Definition: no_sal2.h:660
NMI_CALLBACK * PNMI_CALLBACK
Definition: ketypes.h:338
_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:1239
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:118
#define SYNCH_LEVEL
Definition: env_spec_w32.h:704
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
#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
#define _In_reads_bytes_(size)
Definition: no_sal2.h:229
#define _Maybe_raises_SEH_exception_
Definition: no_sal2.h:313
NTKERNELAPI ULONG NTAPI KeQueryActiveProcessorCount(OUT PKAFFINITY ActiveProcessors OPTIONAL)
Definition: ke.c:15
_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_ _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:204
_In_ PKSYNCHRONIZE_ROUTINE _In_opt_ __drv_aliasesMem PVOID SynchronizeContext
Definition: kefuncs.h:536
ULONG_PTR SIZE_T
Definition: typedefs.h:79
enum _KSPIN_LOCK_QUEUE_NUMBER KSPIN_LOCK_QUEUE_NUMBER
LONG NTAPI KeReadStateMutant(IN PKMUTANT Mutant)
Definition: mutex.c:87
#define _IRQL_restores_global_(kind, param)
Definition: no_sal2.h:654
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
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:75
VOID NTAPI KeAttachProcess(IN PKPROCESS Process)
Definition: procobj.c:579
#define _IRQL_saves_global_(kind, param)
Definition: no_sal2.h:656
VOID NTAPI KeUnstackDetachProcess(IN PRKAPC_STATE ApcState)
Definition: procobj.c:753
EXPAND_STACK_CALLOUT * PEXPAND_STACK_CALLOUT
Definition: ketypes.h:1093
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
unsigned int * PULONG
Definition: retypes.h:1
Definition: optimize.h:109
#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)
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:310
_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
*Count PHARDWARE_COUNTER _In_ ULONG MaximumCount
Definition: kefuncs.h:1447
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
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
_In_ KPRIORITY _In_ BOOLEAN Wait
Definition: kefuncs.h:88
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:1365
_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
NTKERNELAPI USHORT NTAPI KeGetCurrentNodeNumber(VOID)
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:1331
_Inout_ PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
Definition: kefuncs.h:339
VOID NTAPI KeClearEvent(IN PKEVENT Event)
Definition: eventobj.c:22
_Out_ PULONG64 CycleTimeStamp
Definition: kefuncs.h:1213
$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
#define _Out_writes_bytes_opt_(size)
Definition: no_sal2.h:373
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
_IRQL_requires_max_(DISPATCH_LEVEL) NTKERNELAPI VOID NTAPI KeClearEvent(_Inout_ PRKEVENT Event)
Definition: rmap.c:30
_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
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:1273
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:1233
BOOLEAN NTAPI KeSetKernelStackSwapEnable(IN BOOLEAN Enable)
Definition: thrdobj.c:997
#define _IRQL_restores_
Definition: no_sal2.h:653
_Kernel_float_restored_ NTKERNELAPI VOID NTAPI KeRestoreExtendedProcessorState(_In_ _Requires_lock_held_(*_Curr_) _Releases_lock_(*_Curr_) PXSTATE_SAVE XStateSave)
_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