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