4570137c890271e0eb9fc1c0867a1c96c63857c8
[reactos.git] / reactos / include / ndk / exfuncs.h
1 /*++ NDK Version: 0098
2
3 Copyright (c) Alex Ionescu. All rights reserved.
4
5 Header Name:
6
7 exfuncs.h
8
9 Abstract:
10
11 Function definitions for the Executive.
12
13 Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17 --*/
18
19 #ifndef _EXFUNCS_H
20 #define _EXFUNCS_H
21
22 //
23 // Dependencies
24 //
25 #include <umtypes.h>
26 #include <pstypes.h>
27 #include <extypes.h>
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 //
34 // Don't include WMI headers just for one define
35 //
36 #ifndef PEVENT_TRACE_HEADER_DEFINED
37 #define PEVENT_TRACE_HEADER_DEFINED
38 typedef struct _EVENT_TRACE_HEADER *PEVENT_TRACE_HEADER;
39 #endif
40
41 #ifndef NTOS_MODE_USER
42 //
43 // Fast Mutex functions
44 //
45 VOID
46 FASTCALL
47 ExEnterCriticalRegionAndAcquireFastMutexUnsafe(
48 _Inout_ PFAST_MUTEX FastMutex
49 );
50
51 VOID
52 FASTCALL
53 ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(
54 _Inout_ PFAST_MUTEX FastMutex
55 );
56
57 //
58 // Pushlock functions
59 //
60 VOID
61 FASTCALL
62 ExfAcquirePushLockExclusive(
63 _Inout_ PEX_PUSH_LOCK PushLock
64 );
65
66 VOID
67 FASTCALL
68 ExfAcquirePushLockShared(
69 _Inout_ PEX_PUSH_LOCK PushLock
70 );
71
72 VOID
73 FASTCALL
74 ExfReleasePushLock(
75 _Inout_ PEX_PUSH_LOCK PushLock
76 );
77
78 VOID
79 FASTCALL
80 ExfReleasePushLockExclusive(
81 _Inout_ PEX_PUSH_LOCK PushLock
82 );
83
84 VOID
85 FASTCALL
86 ExfReleasePushLockShared(
87 _Inout_ PEX_PUSH_LOCK PushLock
88 );
89
90 VOID
91 FASTCALL
92 ExfTryToWakePushLock(
93 _Inout_ PEX_PUSH_LOCK PushLock
94 );
95
96 VOID
97 FASTCALL
98 ExfUnblockPushLock(
99 _Inout_ PEX_PUSH_LOCK PushLock,
100 _Inout_ PVOID CurrentWaitBlock
101 );
102
103 //
104 // Handle Table Functions
105 //
106 NTKERNELAPI
107 BOOLEAN
108 NTAPI
109 ExEnumHandleTable(
110 _In_ PHANDLE_TABLE HandleTable,
111 _In_ PEX_ENUM_HANDLE_CALLBACK EnumHandleProcedure,
112 _Inout_ PVOID Context,
113 _Out_opt_ PHANDLE Handle
114 );
115
116 //
117 // HardError Functions
118 //
119 NTSTATUS
120 NTAPI
121 ExRaiseHardError(
122 _In_ NTSTATUS ErrorStatus,
123 _In_ ULONG NumberOfParameters,
124 _In_ ULONG UnicodeStringParameterMask,
125 _In_ PULONG_PTR Parameters,
126 _In_ ULONG ValidResponseOptions,
127 _Out_ PULONG Response
128 );
129
130 #endif
131
132 //
133 // Native Calls
134 //
135 NTSYSCALLAPI
136 NTSTATUS
137 NTAPI
138 NtAddAtom(
139 _In_ PWSTR AtomName,
140 _In_ ULONG AtomNameLength,
141 _Inout_ PRTL_ATOM Atom
142 );
143
144 NTSYSCALLAPI
145 NTSTATUS
146 NTAPI
147 NtCancelTimer(
148 _In_ HANDLE TimerHandle,
149 _Out_opt_ PBOOLEAN CurrentState
150 );
151
152 NTSYSCALLAPI
153 NTSTATUS
154 NTAPI
155 NtClearEvent(
156 _In_ HANDLE EventHandle
157 );
158
159 _IRQL_requires_max_(PASSIVE_LEVEL)
160 NTSYSCALLAPI
161 NTSTATUS
162 NTAPI
163 NtCreateEvent(
164 _Out_ PHANDLE EventHandle,
165 _In_ ACCESS_MASK DesiredAccess,
166 _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
167 _In_ EVENT_TYPE EventType,
168 _In_ BOOLEAN InitialState
169 );
170
171 NTSYSCALLAPI
172 NTSTATUS
173 NTAPI
174 NtCreateEventPair(
175 _Out_ PHANDLE EventPairHandle,
176 _In_ ACCESS_MASK DesiredAccess,
177 _In_ POBJECT_ATTRIBUTES ObjectAttributes
178 );
179
180 _IRQL_requires_max_(PASSIVE_LEVEL)
181 NTSYSCALLAPI
182 NTSTATUS
183 NTAPI
184 NtCreateKeyedEvent(
185 _Out_ PHANDLE OutHandle,
186 _In_ ACCESS_MASK AccessMask,
187 _In_ POBJECT_ATTRIBUTES ObjectAttributes,
188 _In_ ULONG Flags
189 );
190
191 NTSYSCALLAPI
192 NTSTATUS
193 NTAPI
194 NtCreateMutant(
195 _Out_ PHANDLE MutantHandle,
196 _In_ ACCESS_MASK DesiredAccess,
197 _In_ POBJECT_ATTRIBUTES ObjectAttributes,
198 _In_ BOOLEAN InitialOwner
199 );
200
201 NTSYSCALLAPI
202 NTSTATUS
203 NTAPI
204 NtCreateSemaphore(
205 _Out_ PHANDLE SemaphoreHandle,
206 _In_ ACCESS_MASK DesiredAccess,
207 _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
208 _In_ LONG InitialCount,
209 _In_ LONG MaximumCount
210 );
211
212 NTSYSCALLAPI
213 NTSTATUS
214 NTAPI
215 NtCreateTimer(
216 _Out_ PHANDLE TimerHandle,
217 _In_ ACCESS_MASK DesiredAccess,
218 _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
219 _In_ TIMER_TYPE TimerType
220 );
221
222 NTSYSCALLAPI
223 NTSTATUS
224 NTAPI
225 NtDeleteAtom(
226 _In_ RTL_ATOM Atom
227 );
228
229 NTSYSCALLAPI
230 NTSTATUS
231 NTAPI
232 NtDisplayString(
233 _In_ PUNICODE_STRING DisplayString
234 );
235
236 NTSYSCALLAPI
237 NTSTATUS
238 NTAPI
239 NtEnumerateSystemEnvironmentValuesEx(
240 _In_ ULONG InformationClass,
241 _In_ PVOID Buffer,
242 _In_ ULONG BufferLength
243 );
244
245 NTSYSCALLAPI
246 NTSTATUS
247 NTAPI
248 NtFindAtom(
249 _In_ PWSTR AtomName,
250 _In_ ULONG AtomNameLength,
251 _Out_opt_ PRTL_ATOM Atom
252 );
253
254 NTSYSCALLAPI
255 NTSTATUS
256 NTAPI
257 NtOpenEvent(
258 _Out_ PHANDLE EventHandle,
259 _In_ ACCESS_MASK DesiredAccess,
260 _In_ POBJECT_ATTRIBUTES ObjectAttributes
261 );
262
263 _IRQL_requires_max_(PASSIVE_LEVEL)
264 NTSYSCALLAPI
265 NTSTATUS
266 NTAPI
267 NtOpenKeyedEvent(
268 _Out_ PHANDLE OutHandle,
269 _In_ ACCESS_MASK AccessMask,
270 _In_ POBJECT_ATTRIBUTES ObjectAttributes
271 );
272
273 NTSYSCALLAPI
274 NTSTATUS
275 NTAPI
276 NtOpenEventPair(
277 _Out_ PHANDLE EventPairHandle,
278 _In_ ACCESS_MASK DesiredAccess,
279 _In_ POBJECT_ATTRIBUTES ObjectAttributes
280 );
281
282 NTSYSCALLAPI
283 NTSTATUS
284 NTAPI
285 NtOpenMutant(
286 _Out_ PHANDLE MutantHandle,
287 _In_ ACCESS_MASK DesiredAccess,
288 _In_ POBJECT_ATTRIBUTES ObjectAttributes
289 );
290
291 NTSYSCALLAPI
292 NTSTATUS
293 NTAPI
294 NtOpenSemaphore(
295 _Out_ PHANDLE SemaphoreHandle,
296 _In_ ACCESS_MASK DesiredAcces,
297 _In_ POBJECT_ATTRIBUTES ObjectAttributes
298 );
299
300 NTSYSCALLAPI
301 NTSTATUS
302 NTAPI
303 NtOpenTimer(
304 _Out_ PHANDLE TimerHandle,
305 _In_ ACCESS_MASK DesiredAccess,
306 _In_ POBJECT_ATTRIBUTES ObjectAttributes
307 );
308
309 NTSYSCALLAPI
310 NTSTATUS
311 NTAPI
312 NtPulseEvent(
313 _In_ HANDLE EventHandle,
314 _In_opt_ PLONG PulseCount
315 );
316
317 NTSYSCALLAPI
318 NTSTATUS
319 NTAPI
320 NtQueryDefaultLocale(
321 _In_ BOOLEAN UserProfile,
322 _Out_ PLCID DefaultLocaleId
323 );
324
325 NTSYSCALLAPI
326 NTSTATUS
327 NTAPI
328 NtQueryDefaultUILanguage(
329 LANGID* LanguageId
330 );
331
332 NTSYSCALLAPI
333 NTSTATUS
334 NTAPI
335 NtQueryEvent(
336 _In_ HANDLE EventHandle,
337 _In_ EVENT_INFORMATION_CLASS EventInformationClass,
338 _Out_ PVOID EventInformation,
339 _In_ ULONG EventInformationLength,
340 _Out_ PULONG ReturnLength
341 );
342
343 NTSYSCALLAPI
344 NTSTATUS
345 NTAPI
346 NtQueryInformationAtom(
347 _In_ RTL_ATOM Atom,
348 _In_ ATOM_INFORMATION_CLASS AtomInformationClass,
349 _Out_ PVOID AtomInformation,
350 _In_ ULONG AtomInformationLength,
351 _Out_opt_ PULONG ReturnLength
352 );
353
354 NTSYSCALLAPI
355 NTSTATUS
356 NTAPI
357 NtQueryInstallUILanguage(
358 LANGID* LanguageId
359 );
360
361 NTSYSCALLAPI
362 NTSTATUS
363 NTAPI
364 NtQueryMutant(
365 _In_ HANDLE MutantHandle,
366 _In_ MUTANT_INFORMATION_CLASS MutantInformationClass,
367 _Out_ PVOID MutantInformation,
368 _In_ ULONG Length,
369 _Out_ PULONG ResultLength
370 );
371
372 NTSYSCALLAPI
373 NTSTATUS
374 NTAPI
375 NtQuerySemaphore(
376 _In_ HANDLE SemaphoreHandle,
377 _In_ SEMAPHORE_INFORMATION_CLASS SemaphoreInformationClass,
378 _Out_ PVOID SemaphoreInformation,
379 _In_ ULONG Length,
380 _Out_ PULONG ReturnLength
381 );
382
383 NTSYSCALLAPI
384 NTSTATUS
385 NTAPI
386 NtQuerySystemEnvironmentValue(
387 _In_ PUNICODE_STRING Name,
388 _Out_ PWSTR Value,
389 ULONG Length,
390 PULONG ReturnLength
391 );
392
393 NTSYSCALLAPI
394 NTSTATUS
395 NTAPI
396 NtQuerySystemEnvironmentValueEx(
397 _In_ PUNICODE_STRING VariableName,
398 _In_ LPGUID VendorGuid,
399 _In_ PVOID Value,
400 _Inout_ PULONG ReturnLength,
401 _Inout_ PULONG Attributes
402 );
403
404 __kernel_entry
405 NTSYSCALLAPI
406 NTSTATUS
407 NTAPI
408 NtQuerySystemInformation(
409 _In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,
410 _Out_ PVOID SystemInformation,
411 _In_ ULONG InformationLength,
412 _Out_opt_ PULONG ResultLength
413 );
414
415 NTSYSCALLAPI
416 NTSTATUS
417 NTAPI
418 NtQueryTimer(
419 _In_ HANDLE TimerHandle,
420 _In_ TIMER_INFORMATION_CLASS TimerInformationClass,
421 _Out_ PVOID TimerInformation,
422 _In_ ULONG Length,
423 _Out_ PULONG ResultLength
424 );
425
426 NTSYSCALLAPI
427 NTSTATUS
428 NTAPI
429 NtRaiseHardError(
430 _In_ NTSTATUS ErrorStatus,
431 _In_ ULONG NumberOfParameters,
432 _In_ ULONG UnicodeStringParameterMask,
433 _In_ PULONG_PTR Parameters,
434 _In_ ULONG ValidResponseOptions,
435 _Out_ PULONG Response
436 );
437
438 NTSYSCALLAPI
439 NTSTATUS
440 NTAPI
441 NtReleaseMutant(
442 _In_ HANDLE MutantHandle,
443 _In_opt_ PLONG ReleaseCount
444 );
445
446 _IRQL_requires_max_(PASSIVE_LEVEL)
447 NTSYSCALLAPI
448 NTSTATUS
449 NTAPI
450 NtReleaseKeyedEvent(
451 _In_opt_ HANDLE EventHandle,
452 _In_ PVOID Key,
453 _In_ BOOLEAN Alertable,
454 _In_opt_ PLARGE_INTEGER Timeout
455 );
456
457 NTSYSCALLAPI
458 NTSTATUS
459 NTAPI
460 NtReleaseSemaphore(
461 _In_ HANDLE SemaphoreHandle,
462 _In_ LONG ReleaseCount,
463 _Out_opt_ PLONG PreviousCount
464 );
465
466 NTSYSCALLAPI
467 NTSTATUS
468 NTAPI
469 NtResetEvent(
470 _In_ HANDLE EventHandle,
471 _Out_opt_ PLONG NumberOfWaitingThreads
472 );
473
474 NTSYSCALLAPI
475 NTSTATUS
476 NTAPI
477 NtSetDefaultLocale(
478 _In_ BOOLEAN UserProfile,
479 _In_ LCID DefaultLocaleId
480 );
481
482 NTSYSCALLAPI
483 NTSTATUS
484 NTAPI
485 NtSetDefaultUILanguage(
486 LANGID LanguageId
487 );
488
489 NTSYSCALLAPI
490 NTSTATUS
491 NTAPI
492 NtSetDefaultHardErrorPort(
493 _In_ HANDLE PortHandle
494 );
495
496 NTSYSCALLAPI
497 NTSTATUS
498 NTAPI
499 NtSetEvent(
500 _In_ HANDLE EventHandle,
501 _Out_opt_ PLONG PreviousState
502 );
503
504 NTSYSCALLAPI
505 NTSTATUS
506 NTAPI
507 NtSetEventBoostPriority(
508 _In_ HANDLE EventHandle
509 );
510
511 NTSYSCALLAPI
512 NTSTATUS
513 NTAPI
514 NtSetHighEventPair(
515 _In_ HANDLE EventPairHandle
516 );
517
518 NTSYSCALLAPI
519 NTSTATUS
520 NTAPI
521 NtSetHighWaitLowEventPair(
522 _In_ HANDLE EventPairHandle
523 );
524
525 NTSYSCALLAPI
526 NTSTATUS
527 NTAPI
528 NtSetLowEventPair(
529 _In_ HANDLE EventPair
530 );
531
532 NTSYSCALLAPI
533 NTSTATUS
534 NTAPI
535 NtSetLowWaitHighEventPair(
536 _In_ HANDLE EventPair
537 );
538
539 NTSYSCALLAPI
540 NTSTATUS
541 NTAPI
542 NtSetSystemEnvironmentValue(
543 _In_ PUNICODE_STRING VariableName,
544 _In_ PUNICODE_STRING Value
545 );
546
547 NTSYSCALLAPI
548 NTSTATUS
549 NTAPI
550 NtSetSystemEnvironmentValueEx(
551 _In_ PUNICODE_STRING VariableName,
552 _In_ LPGUID VendorGuid
553 );
554
555 NTSYSCALLAPI
556 NTSTATUS
557 NTAPI
558 NtSetSystemInformation(
559 _In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,
560 _In_ PVOID SystemInformation,
561 _In_ ULONG SystemInformationLength
562 );
563
564 NTSYSCALLAPI
565 NTSTATUS
566 NTAPI
567 NtSetTimer(
568 _In_ HANDLE TimerHandle,
569 _In_ PLARGE_INTEGER DueTime,
570 _In_ PTIMER_APC_ROUTINE TimerApcRoutine,
571 _In_ PVOID TimerContext,
572 _In_ BOOLEAN WakeTimer,
573 _In_opt_ LONG Period,
574 _Out_opt_ PBOOLEAN PreviousState
575 );
576
577 NTSYSCALLAPI
578 NTSTATUS
579 NTAPI
580 NtSetUuidSeed(
581 _In_ PUCHAR UuidSeed
582 );
583
584 NTSYSCALLAPI
585 NTSTATUS
586 NTAPI
587 NtShutdownSystem(
588 _In_ SHUTDOWN_ACTION Action
589 );
590
591 _IRQL_requires_max_(PASSIVE_LEVEL)
592 NTSYSCALLAPI
593 NTSTATUS
594 NTAPI
595 NtWaitForKeyedEvent(
596 _In_opt_ HANDLE EventHandle,
597 _In_ PVOID Key,
598 _In_ BOOLEAN Alertable,
599 _In_opt_ PLARGE_INTEGER Timeout
600 );
601
602 NTSYSCALLAPI
603 NTSTATUS
604 NTAPI
605 NtWaitHighEventPair(
606 _In_ HANDLE EventPairHandle
607 );
608
609 NTSYSCALLAPI
610 NTSTATUS
611 NTAPI
612 NtWaitLowEventPair(
613 _In_ HANDLE EventPairHandle
614 );
615
616 NTSYSCALLAPI
617 NTSTATUS
618 NTAPI
619 NtTraceEvent(
620 _In_ ULONG TraceHandle,
621 _In_ ULONG Flags,
622 _In_ ULONG TraceHeaderLength,
623 _In_ PEVENT_TRACE_HEADER TraceHeader
624 );
625
626 NTSYSAPI
627 NTSTATUS
628 NTAPI
629 ZwAddAtom(
630 _In_ PWSTR AtomName,
631 _In_ ULONG AtomNameLength,
632 _Inout_ PRTL_ATOM Atom
633 );
634
635 #ifdef NTOS_MODE_USER
636 NTSYSAPI
637 NTSTATUS
638 NTAPI
639 ZwCancelTimer(
640 _In_ HANDLE TimerHandle,
641 _Out_opt_ PBOOLEAN CurrentState
642 );
643 #endif
644
645 NTSYSAPI
646 NTSTATUS
647 NTAPI
648 ZwClearEvent(
649 _In_ HANDLE EventHandle
650 );
651
652 _IRQL_requires_max_(PASSIVE_LEVEL)
653 NTSYSAPI
654 NTSTATUS
655 NTAPI
656 ZwCreateEvent(
657 _Out_ PHANDLE EventHandle,
658 _In_ ACCESS_MASK DesiredAccess,
659 _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
660 _In_ EVENT_TYPE EventType,
661 _In_ BOOLEAN InitialState
662 );
663
664 NTSYSAPI
665 NTSTATUS
666 NTAPI
667 ZwCreateEventPair(
668 _Out_ PHANDLE EventPairHandle,
669 _In_ ACCESS_MASK DesiredAccess,
670 _In_ POBJECT_ATTRIBUTES ObjectAttributes
671 );
672
673 NTSYSAPI
674 NTSTATUS
675 NTAPI
676 ZwCreateMutant(
677 _Out_ PHANDLE MutantHandle,
678 _In_ ACCESS_MASK DesiredAccess,
679 _In_ POBJECT_ATTRIBUTES ObjectAttributes,
680 _In_ BOOLEAN InitialOwner
681 );
682
683 NTSYSAPI
684 NTSTATUS
685 NTAPI
686 ZwCreateSemaphore(
687 _Out_ PHANDLE SemaphoreHandle,
688 _In_ ACCESS_MASK DesiredAccess,
689 _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
690 _In_ LONG InitialCount,
691 _In_ LONG MaximumCount
692 );
693
694 #ifdef NTOS_MODE_USER
695 NTSYSAPI
696 NTSTATUS
697 NTAPI
698 ZwCreateTimer(
699 _Out_ PHANDLE TimerHandle,
700 _In_ ACCESS_MASK DesiredAccess,
701 _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
702 _In_ TIMER_TYPE TimerType
703 );
704 #endif
705
706 NTSYSAPI
707 NTSTATUS
708 NTAPI
709 ZwDeleteAtom(
710 _In_ RTL_ATOM Atom
711 );
712
713 NTSYSAPI
714 NTSTATUS
715 NTAPI
716 ZwDisplayString(
717 _In_ PUNICODE_STRING DisplayString
718 );
719
720 NTSYSAPI
721 NTSTATUS
722 NTAPI
723 ZwFindAtom(
724 _In_ PWSTR AtomName,
725 _In_ ULONG AtomNameLength,
726 _Out_opt_ PRTL_ATOM Atom
727 );
728
729 NTSYSCALLAPI
730 NTSTATUS
731 NTAPI
732 ZwOpenEvent(
733 _Out_ PHANDLE EventHandle,
734 _In_ ACCESS_MASK DesiredAccess,
735 _In_ POBJECT_ATTRIBUTES ObjectAttributes
736 );
737
738 NTSYSAPI
739 NTSTATUS
740 NTAPI
741 ZwOpenEventPair(
742 _Out_ PHANDLE EventPairHandle,
743 _In_ ACCESS_MASK DesiredAccess,
744 _In_ POBJECT_ATTRIBUTES ObjectAttributes
745 );
746
747 NTSYSAPI
748 NTSTATUS
749 NTAPI
750 ZwOpenMutant(
751 _Out_ PHANDLE MutantHandle,
752 _In_ ACCESS_MASK DesiredAccess,
753 _In_ POBJECT_ATTRIBUTES ObjectAttributes
754 );
755
756 NTSYSAPI
757 NTSTATUS
758 NTAPI
759 ZwOpenSemaphore(
760 _Out_ PHANDLE SemaphoreHandle,
761 _In_ ACCESS_MASK DesiredAcces,
762 _In_ POBJECT_ATTRIBUTES ObjectAttributes
763 );
764
765 #ifdef NTOS_MODE_USER
766 NTSYSAPI
767 NTSTATUS
768 NTAPI
769 ZwOpenTimer(
770 _Out_ PHANDLE TimerHandle,
771 _In_ ACCESS_MASK DesiredAccess,
772 _In_ POBJECT_ATTRIBUTES ObjectAttributes
773 );
774 #endif
775
776 NTSYSAPI
777 NTSTATUS
778 NTAPI
779 ZwPulseEvent(
780 _In_ HANDLE EventHandle,
781 _In_opt_ PLONG PulseCount
782 );
783
784 NTSYSAPI
785 NTSTATUS
786 NTAPI
787 ZwQueryDefaultLocale(
788 _In_ BOOLEAN UserProfile,
789 _Out_ PLCID DefaultLocaleId
790 );
791
792 NTSYSAPI
793 NTSTATUS
794 NTAPI
795 ZwQueryDefaultUILanguage(
796 LANGID* LanguageId
797 );
798
799 NTSYSAPI
800 NTSTATUS
801 NTAPI
802 ZwQueryEvent(
803 _In_ HANDLE EventHandle,
804 _In_ EVENT_INFORMATION_CLASS EventInformationClass,
805 _Out_ PVOID EventInformation,
806 _In_ ULONG EventInformationLength,
807 _Out_ PULONG ReturnLength
808 );
809
810 NTSYSAPI
811 NTSTATUS
812 NTAPI
813 ZwQueryInformationAtom(
814 _In_ RTL_ATOM Atom,
815 _In_ ATOM_INFORMATION_CLASS AtomInformationClass,
816 _Out_ PVOID AtomInformation,
817 _In_ ULONG AtomInformationLength,
818 _Out_opt_ PULONG ReturnLength
819 );
820
821 NTSYSAPI
822 NTSTATUS
823 NTAPI
824 ZwQueryInstallUILanguage(
825 LANGID* LanguageId
826 );
827
828 NTSYSAPI
829 NTSTATUS
830 NTAPI
831 ZwQueryMutant(
832 _In_ HANDLE MutantHandle,
833 _In_ MUTANT_INFORMATION_CLASS MutantInformationClass,
834 _Out_ PVOID MutantInformation,
835 _In_ ULONG Length,
836 _Out_ PULONG ResultLength
837 );
838
839 NTSYSAPI
840 NTSTATUS
841 NTAPI
842 ZwQuerySemaphore(
843 _In_ HANDLE SemaphoreHandle,
844 _In_ SEMAPHORE_INFORMATION_CLASS SemaphoreInformationClass,
845 _Out_ PVOID SemaphoreInformation,
846 _In_ ULONG Length,
847 _Out_ PULONG ReturnLength
848 );
849
850 NTSYSAPI
851 NTSTATUS
852 NTAPI
853 ZwQuerySystemEnvironmentValue(
854 _In_ PUNICODE_STRING Name,
855 _Out_ PWSTR Value,
856 _In_ ULONG Length,
857 _Out_ PULONG ReturnLength
858 );
859
860 NTSYSAPI
861 NTSTATUS
862 NTAPI
863 ZwQuerySystemInformation(
864 _In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,
865 _Out_ PVOID SystemInformation,
866 _In_ SIZE_T Length,
867 _Out_opt_ PSIZE_T ResultLength
868 );
869
870 NTSYSAPI
871 NTSTATUS
872 NTAPI
873 ZwQueryTimer(
874 _In_ HANDLE TimerHandle,
875 _In_ TIMER_INFORMATION_CLASS TimerInformationClass,
876 _Out_ PVOID TimerInformation,
877 _In_ ULONG Length,
878 _Out_ PULONG ResultLength
879 );
880
881 NTSYSAPI
882 NTSTATUS
883 NTAPI
884 ZwRaiseHardError(
885 _In_ NTSTATUS ErrorStatus,
886 _In_ ULONG NumberOfParameters,
887 _In_ ULONG UnicodeStringParameterMask,
888 _In_ PULONG_PTR Parameters,
889 _In_ ULONG ValidResponseOptions,
890 _Out_ PULONG Response
891 );
892
893 NTSYSAPI
894 NTSTATUS
895 NTAPI
896 ZwReleaseMutant(
897 _In_ HANDLE MutantHandle,
898 _In_opt_ PLONG ReleaseCount
899 );
900
901 NTSYSAPI
902 NTSTATUS
903 NTAPI
904 ZwReleaseSemaphore(
905 _In_ HANDLE SemaphoreHandle,
906 _In_ LONG ReleaseCount,
907 _Out_opt_ PLONG PreviousCount
908 );
909
910 NTSYSAPI
911 NTSTATUS
912 NTAPI
913 ZwResetEvent(
914 _In_ HANDLE EventHandle,
915 _Out_opt_ PLONG NumberOfWaitingThreads
916 );
917
918 NTSYSAPI
919 NTSTATUS
920 NTAPI
921 ZwSetDefaultLocale(
922 _In_ BOOLEAN UserProfile,
923 _In_ LCID DefaultLocaleId
924 );
925
926 NTSYSAPI
927 NTSTATUS
928 NTAPI
929 ZwSetDefaultUILanguage(
930 LANGID LanguageId
931 );
932
933 NTSYSAPI
934 NTSTATUS
935 NTAPI
936 ZwSetDefaultHardErrorPort(
937 _In_ HANDLE PortHandle
938 );
939
940 NTSYSAPI
941 NTSTATUS
942 NTAPI
943 ZwSetEvent(
944 _In_ HANDLE EventHandle,
945 _Out_opt_ PLONG PreviousState
946 );
947
948 NTSYSAPI
949 NTSTATUS
950 NTAPI
951 ZwSetHighEventPair(
952 _In_ HANDLE EventPairHandle
953 );
954
955 NTSYSAPI
956 NTSTATUS
957 NTAPI
958 ZwSetHighWaitLowEventPair(
959 _In_ HANDLE EventPairHandle
960 );
961
962 NTSYSAPI
963 NTSTATUS
964 NTAPI
965 ZwSetLowEventPair(
966 _In_ HANDLE EventPair
967 );
968
969 NTSYSAPI
970 NTSTATUS
971 NTAPI
972 ZwSetLowWaitHighEventPair(
973 _In_ HANDLE EventPair
974 );
975
976 NTSYSAPI
977 NTSTATUS
978 NTAPI
979 ZwSetSystemEnvironmentValue(
980 _In_ PUNICODE_STRING VariableName,
981 _In_ PUNICODE_STRING Value
982 );
983
984 NTSYSAPI
985 NTSTATUS
986 NTAPI
987 ZwSetSystemInformation(
988 _In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,
989 _In_ PVOID SystemInformation,
990 _In_ SIZE_T SystemInformationLength
991 );
992
993 #ifdef NTOS_MODE_USER
994 NTSYSAPI
995 NTSTATUS
996 NTAPI
997 ZwSetTimer(
998 _In_ HANDLE TimerHandle,
999 _In_ PLARGE_INTEGER DueTime,
1000 _In_ PTIMER_APC_ROUTINE TimerApcRoutine,
1001 _In_ PVOID TimerContext,
1002 _In_ BOOLEAN WakeTimer,
1003 _In_opt_ LONG Period,
1004 _Out_opt_ PBOOLEAN PreviousState
1005 );
1006 #endif
1007
1008 NTSYSAPI
1009 NTSTATUS
1010 NTAPI
1011 ZwSetUuidSeed(
1012 _In_ PUCHAR UuidSeed
1013 );
1014
1015 NTSYSAPI
1016 NTSTATUS
1017 NTAPI
1018 ZwShutdownSystem(
1019 _In_ SHUTDOWN_ACTION Action
1020 );
1021
1022 NTSYSAPI
1023 NTSTATUS
1024 NTAPI
1025 ZwWaitHighEventPair(
1026 _In_ HANDLE EventPairHandle
1027 );
1028
1029 NTSYSAPI
1030 NTSTATUS
1031 NTAPI
1032 ZwWaitLowEventPair(
1033 _In_ HANDLE EventPairHandle
1034 );
1035
1036 NTSYSAPI
1037 NTSTATUS
1038 NTAPI
1039 ZwTraceEvent(
1040 _In_ ULONG TraceHandle,
1041 _In_ ULONG Flags,
1042 _In_ ULONG TraceHeaderLength,
1043 _In_ PEVENT_TRACE_HEADER TraceHeader
1044 );
1045
1046 #ifdef __cplusplus
1047 }
1048 #endif
1049
1050 #endif