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