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