3 Copyright (c) Alex Ionescu. All rights reserved.
11 Function definitions for the Executive.
15 Alex Ionescu (alex.ionescu@reactos.com) 06-Oct-2004
28 // Don't include WMI headers just for one define
30 typedef struct _EVENT_TRACE_HEADER
*PEVENT_TRACE_HEADER
;
32 #ifndef NTOS_MODE_USER
34 // Fast Mutex functions
38 ExEnterCriticalRegionAndAcquireFastMutexUnsafe(PFAST_MUTEX FastMutex
);
42 ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(PFAST_MUTEX FastMutex
);
52 IN ULONG AtomNameLength
,
59 IN HANDLE TimerHandle
,
60 OUT PBOOLEAN CurrentState OPTIONAL
72 OUT PHANDLE EventHandle
,
73 IN ACCESS_MASK DesiredAccess
,
74 IN POBJECT_ATTRIBUTES ObjectAttributes
,
75 IN EVENT_TYPE EventType
,
76 IN BOOLEAN InitialState
82 OUT PHANDLE EventPairHandle
,
83 IN ACCESS_MASK DesiredAccess
,
84 IN POBJECT_ATTRIBUTES ObjectAttributes
90 OUT PHANDLE MutantHandle
,
91 IN ACCESS_MASK DesiredAccess
,
92 IN POBJECT_ATTRIBUTES ObjectAttributes
,
93 IN BOOLEAN InitialOwner
99 OUT PHANDLE SemaphoreHandle
,
100 IN ACCESS_MASK DesiredAccess
,
101 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL
,
102 IN LONG InitialCount
,
109 OUT PHANDLE TimerHandle
,
110 IN ACCESS_MASK DesiredAccess
,
111 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL
,
112 IN TIMER_TYPE TimerType
124 IN PUNICODE_STRING DisplayString
131 IN ULONG AtomNameLength
,
132 OUT PRTL_ATOM Atom OPTIONAL
138 OUT PHANDLE EventHandle
,
139 IN ACCESS_MASK DesiredAccess
,
140 IN POBJECT_ATTRIBUTES ObjectAttributes
146 OUT PHANDLE EventPairHandle
,
147 IN ACCESS_MASK DesiredAccess
,
148 IN POBJECT_ATTRIBUTES ObjectAttributes
154 OUT PHANDLE MutantHandle
,
155 IN ACCESS_MASK DesiredAccess
,
156 IN POBJECT_ATTRIBUTES ObjectAttributes
162 OUT PHANDLE SemaphoreHandle
,
163 IN ACCESS_MASK DesiredAcces
,
164 IN POBJECT_ATTRIBUTES ObjectAttributes
170 OUT PHANDLE TimerHandle
,
171 IN ACCESS_MASK DesiredAccess
,
172 IN POBJECT_ATTRIBUTES ObjectAttributes
178 IN HANDLE EventHandle
,
179 IN PLONG PulseCount OPTIONAL
184 NtQueryDefaultLocale(
185 IN BOOLEAN UserProfile
,
186 OUT PLCID DefaultLocaleId
191 NtQueryDefaultUILanguage(
198 IN HANDLE EventHandle
,
199 IN EVENT_INFORMATION_CLASS EventInformationClass
,
200 OUT PVOID EventInformation
,
201 IN ULONG EventInformationLength
,
202 OUT PULONG ReturnLength
207 NtQueryInformationAtom(
209 IN ATOM_INFORMATION_CLASS AtomInformationClass
,
210 OUT PVOID AtomInformation
,
211 IN ULONG AtomInformationLength
,
212 OUT PULONG ReturnLength OPTIONAL
217 NtQueryInstallUILanguage(
224 IN HANDLE MutantHandle
,
225 IN MUTANT_INFORMATION_CLASS MutantInformationClass
,
226 OUT PVOID MutantInformation
,
228 OUT PULONG ResultLength
234 IN HANDLE SemaphoreHandle
,
235 IN SEMAPHORE_INFORMATION_CLASS SemaphoreInformationClass
,
236 OUT PVOID SemaphoreInformation
,
238 OUT PULONG ReturnLength
243 NtQuerySystemEnvironmentValue(
244 IN PUNICODE_STRING Name
,
252 NtQuerySystemInformation(
253 IN SYSTEM_INFORMATION_CLASS SystemInformationClass
,
254 OUT PVOID SystemInformation
,
256 OUT PULONG ResultLength
262 IN HANDLE TimerHandle
,
263 IN TIMER_INFORMATION_CLASS TimerInformationClass
,
264 OUT PVOID TimerInformation
,
266 OUT PULONG ResultLength
272 IN NTSTATUS ErrorStatus
,
273 IN ULONG NumberOfParameters
,
274 IN ULONG UnicodeStringParameterMask
,
275 IN PULONG_PTR Parameters
,
276 IN ULONG ValidResponseOptions
,
283 IN HANDLE MutantHandle
,
284 IN PLONG ReleaseCount OPTIONAL
290 IN HANDLE SemaphoreHandle
,
291 IN LONG ReleaseCount
,
292 OUT PLONG PreviousCount
298 IN HANDLE EventHandle
,
299 OUT PLONG NumberOfWaitingThreads OPTIONAL
305 IN BOOLEAN UserProfile
,
306 IN LCID DefaultLocaleId
311 NtSetDefaultUILanguage(
317 NtSetDefaultHardErrorPort(
324 IN HANDLE EventHandle
,
325 OUT PLONG PreviousState OPTIONAL
331 IN HANDLE EventPairHandle
336 NtSetHighWaitLowEventPair(
337 IN HANDLE EventPairHandle
348 NtSetLowWaitHighEventPair(
354 NtSetSystemEnvironmentValue(
355 IN PUNICODE_STRING VariableName
,
356 IN PUNICODE_STRING Value
361 NtSetSystemInformation(
362 IN SYSTEM_INFORMATION_CLASS SystemInformationClass
,
363 IN PVOID SystemInformation
,
364 IN ULONG SystemInformationLength
370 IN HANDLE TimerHandle
,
371 IN PLARGE_INTEGER DueTime
,
372 IN PTIMER_APC_ROUTINE TimerApcRoutine
,
373 IN PVOID TimerContext
,
374 IN BOOLEAN WakeTimer
,
375 IN LONG Period OPTIONAL
,
376 OUT PBOOLEAN PreviousState OPTIONAL
388 IN SHUTDOWN_ACTION Action
394 IN HANDLE EventPairHandle
400 IN HANDLE EventPairHandle
406 IN ULONG TraceHandle
,
408 IN ULONG TraceHeaderLength
,
409 IN PEVENT_TRACE_HEADER TraceHeader
416 IN ULONG AtomNameLength
,
417 IN OUT PRTL_ATOM Atom
423 IN HANDLE TimerHandle
,
424 OUT PBOOLEAN CurrentState OPTIONAL
430 IN HANDLE EventHandle
436 OUT PHANDLE EventHandle
,
437 IN ACCESS_MASK DesiredAccess
,
438 IN POBJECT_ATTRIBUTES ObjectAttributes
,
439 IN EVENT_TYPE EventType
,
440 IN BOOLEAN InitialState
446 OUT PHANDLE EventPairHandle
,
447 IN ACCESS_MASK DesiredAccess
,
448 IN POBJECT_ATTRIBUTES ObjectAttributes
454 OUT PHANDLE MutantHandle
,
455 IN ACCESS_MASK DesiredAccess
,
456 IN POBJECT_ATTRIBUTES ObjectAttributes
,
457 IN BOOLEAN InitialOwner
463 OUT PHANDLE SemaphoreHandle
,
464 IN ACCESS_MASK DesiredAccess
,
465 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL
,
466 IN LONG InitialCount
,
473 OUT PHANDLE TimerHandle
,
474 IN ACCESS_MASK DesiredAccess
,
475 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL
,
476 IN TIMER_TYPE TimerType
488 IN PUNICODE_STRING DisplayString
495 IN ULONG AtomNameLength
,
496 OUT PRTL_ATOM Atom OPTIONAL
502 OUT PHANDLE EventHandle
,
503 IN ACCESS_MASK DesiredAccess
,
504 IN POBJECT_ATTRIBUTES ObjectAttributes
510 OUT PHANDLE EventPairHandle
,
511 IN ACCESS_MASK DesiredAccess
,
512 IN POBJECT_ATTRIBUTES ObjectAttributes
518 OUT PHANDLE MutantHandle
,
519 IN ACCESS_MASK DesiredAccess
,
520 IN POBJECT_ATTRIBUTES ObjectAttributes
526 OUT PHANDLE SemaphoreHandle
,
527 IN ACCESS_MASK DesiredAcces
,
528 IN POBJECT_ATTRIBUTES ObjectAttributes
534 OUT PHANDLE TimerHandle
,
535 IN ACCESS_MASK DesiredAccess
,
536 IN POBJECT_ATTRIBUTES ObjectAttributes
542 IN HANDLE EventHandle
,
543 IN PLONG PulseCount OPTIONAL
548 ZwQueryDefaultLocale(
549 IN BOOLEAN UserProfile
,
550 OUT PLCID DefaultLocaleId
555 ZwQueryDefaultUILanguage(
562 IN HANDLE EventHandle
,
563 IN EVENT_INFORMATION_CLASS EventInformationClass
,
564 OUT PVOID EventInformation
,
565 IN ULONG EventInformationLength
,
566 OUT PULONG ReturnLength
571 ZwQueryInformationAtom(
573 IN ATOM_INFORMATION_CLASS AtomInformationClass
,
574 OUT PVOID AtomInformation
,
575 IN ULONG AtomInformationLength
,
576 OUT PULONG ReturnLength OPTIONAL
581 ZwQueryInstallUILanguage(
588 IN HANDLE MutantHandle
,
589 IN MUTANT_INFORMATION_CLASS MutantInformationClass
,
590 OUT PVOID MutantInformation
,
592 OUT PULONG ResultLength
598 IN HANDLE SemaphoreHandle
,
599 IN SEMAPHORE_INFORMATION_CLASS SemaphoreInformationClass
,
600 OUT PVOID SemaphoreInformation
,
602 OUT PULONG ReturnLength
607 ZwQuerySystemEnvironmentValue(
608 IN PUNICODE_STRING Name
,
616 ZwQuerySystemInformation(
617 IN SYSTEM_INFORMATION_CLASS SystemInformationClass
,
618 OUT PVOID SystemInformation
,
620 OUT PULONG ResultLength
626 IN HANDLE TimerHandle
,
627 IN TIMER_INFORMATION_CLASS TimerInformationClass
,
628 OUT PVOID TimerInformation
,
630 OUT PULONG ResultLength
636 IN NTSTATUS ErrorStatus
,
637 IN ULONG NumberOfParameters
,
638 IN ULONG UnicodeStringParameterMask
,
639 IN PULONG_PTR Parameters
,
640 IN ULONG ValidResponseOptions
,
647 IN HANDLE MutantHandle
,
648 IN PLONG ReleaseCount OPTIONAL
654 IN HANDLE SemaphoreHandle
,
655 IN LONG ReleaseCount
,
656 OUT PLONG PreviousCount
662 IN HANDLE EventHandle
,
663 OUT PLONG NumberOfWaitingThreads OPTIONAL
669 IN BOOLEAN UserProfile
,
670 IN LCID DefaultLocaleId
675 ZwSetDefaultUILanguage(
681 ZwSetDefaultHardErrorPort(
688 IN HANDLE EventHandle
,
689 OUT PLONG PreviousState OPTIONAL
695 IN HANDLE EventPairHandle
700 ZwSetHighWaitLowEventPair(
701 IN HANDLE EventPairHandle
712 ZwSetLowWaitHighEventPair(
718 ZwSetSystemEnvironmentValue(
719 IN PUNICODE_STRING VariableName
,
720 IN PUNICODE_STRING Value
725 ZwSetSystemInformation(
726 IN SYSTEM_INFORMATION_CLASS SystemInformationClass
,
727 IN PVOID SystemInformation
,
728 IN ULONG SystemInformationLength
734 IN HANDLE TimerHandle
,
735 IN PLARGE_INTEGER DueTime
,
736 IN PTIMER_APC_ROUTINE TimerApcRoutine
,
737 IN PVOID TimerContext
,
738 IN BOOLEAN WakeTimer
,
739 IN LONG Period OPTIONAL
,
740 OUT PBOOLEAN PreviousState OPTIONAL
752 IN SHUTDOWN_ACTION Action
758 IN HANDLE EventPairHandle
764 IN HANDLE EventPairHandle
770 IN ULONG TraceHandle
,
772 IN ULONG TraceHeaderLength
,
773 IN PEVENT_TRACE_HEADER TraceHeader