ReactOS 0.4.15-dev-7788-g1ad9096
exfuncs.h File Reference
#include <umtypes.h>
#include <pstypes.h>
#include <extypes.h>
Include dependency graph for exfuncs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PEVENT_TRACE_HEADER_DEFINED
 

Typedefs

typedef struct _EVENT_TRACE_HEADERPEVENT_TRACE_HEADER
 

Functions

VOID FASTCALL ExEnterCriticalRegionAndAcquireFastMutexUnsafe (_Inout_ PFAST_MUTEX FastMutex)
 
VOID FASTCALL ExReleaseFastMutexUnsafeAndLeaveCriticalRegion (_Inout_ PFAST_MUTEX FastMutex)
 
VOID FASTCALL ExfAcquirePushLockExclusive (_Inout_ PEX_PUSH_LOCK PushLock)
 
VOID FASTCALL ExfAcquirePushLockShared (_Inout_ PEX_PUSH_LOCK PushLock)
 
VOID FASTCALL ExfReleasePushLock (_Inout_ PEX_PUSH_LOCK PushLock)
 
VOID FASTCALL ExfReleasePushLockExclusive (_Inout_ PEX_PUSH_LOCK PushLock)
 
VOID FASTCALL ExfReleasePushLockShared (_Inout_ PEX_PUSH_LOCK PushLock)
 
VOID FASTCALL ExfTryToWakePushLock (_Inout_ PEX_PUSH_LOCK PushLock)
 
VOID FASTCALL ExfUnblockPushLock (_Inout_ PEX_PUSH_LOCK PushLock, _Inout_ PVOID CurrentWaitBlock)
 
NTKERNELAPI BOOLEAN NTAPI ExEnumHandleTable (_In_ PHANDLE_TABLE HandleTable, _In_ PEX_ENUM_HANDLE_CALLBACK EnumHandleProcedure, _Inout_ PVOID Context, _Out_opt_ PHANDLE Handle)
 
NTSTATUS NTAPI ExRaiseHardError (_In_ NTSTATUS ErrorStatus, _In_ ULONG NumberOfParameters, _In_ ULONG UnicodeStringParameterMask, _In_ PULONG_PTR Parameters, _In_ ULONG ValidResponseOptions, _Out_ PULONG Response)
 
NTSYSCALLAPI NTSTATUS NTAPI NtAddAtom (_In_ PWSTR AtomName, _In_ ULONG AtomNameLength, _Inout_ PRTL_ATOM Atom)
 
NTSYSCALLAPI NTSTATUS NTAPI NtCancelTimer (_In_ HANDLE TimerHandle, _Out_opt_ PBOOLEAN CurrentState)
 
NTSYSCALLAPI NTSTATUS NTAPI NtClearEvent (_In_ HANDLE EventHandle)
 
 _IRQL_requires_max_ (PASSIVE_LEVEL) NTSYSCALLAPI NTSTATUS NTAPI NtCreateEvent(_Out_ PHANDLE EventHandle
 Queries information details about a security descriptor.
 
NTSYSCALLAPI NTSTATUS NTAPI NtCreateEventPair (_Out_ PHANDLE EventPairHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSCALLAPI NTSTATUS NTAPI NtCreateMutant (_Out_ PHANDLE MutantHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ BOOLEAN InitialOwner)
 
NTSYSCALLAPI NTSTATUS NTAPI NtCreateSemaphore (_Out_ PHANDLE SemaphoreHandle, _In_ ACCESS_MASK DesiredAccess, _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ LONG InitialCount, _In_ LONG MaximumCount)
 
NTSYSCALLAPI NTSTATUS NTAPI NtCreateTimer (_Out_ PHANDLE TimerHandle, _In_ ACCESS_MASK DesiredAccess, _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ TIMER_TYPE TimerType)
 
NTSYSCALLAPI NTSTATUS NTAPI NtDeleteAtom (_In_ RTL_ATOM Atom)
 
NTSYSCALLAPI NTSTATUS NTAPI NtDisplayString (_In_ PUNICODE_STRING DisplayString)
 
NTSYSCALLAPI NTSTATUS NTAPI NtEnumerateSystemEnvironmentValuesEx (_In_ ULONG InformationClass, _In_ PVOID Buffer, _In_ ULONG BufferLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtFindAtom (_In_ PWSTR AtomName, _In_ ULONG AtomNameLength, _Out_opt_ PRTL_ATOM Atom)
 
NTSYSCALLAPI NTSTATUS NTAPI NtOpenEvent (_Out_ PHANDLE EventHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSCALLAPI NTSTATUS NTAPI NtOpenEventPair (_Out_ PHANDLE EventPairHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSCALLAPI NTSTATUS NTAPI NtOpenMutant (_Out_ PHANDLE MutantHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSCALLAPI NTSTATUS NTAPI NtOpenSemaphore (_Out_ PHANDLE SemaphoreHandle, _In_ ACCESS_MASK DesiredAcces, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSCALLAPI NTSTATUS NTAPI NtOpenTimer (_Out_ PHANDLE TimerHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSCALLAPI NTSTATUS NTAPI NtPulseEvent (_In_ HANDLE EventHandle, _In_opt_ PLONG PulseCount)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryDefaultLocale (_In_ BOOLEAN UserProfile, _Out_ PLCID DefaultLocaleId)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryDefaultUILanguage (LANGID *LanguageId)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryEvent (_In_ HANDLE EventHandle, _In_ EVENT_INFORMATION_CLASS EventInformationClass, _Out_ PVOID EventInformation, _In_ ULONG EventInformationLength, _Out_ PULONG ReturnLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationAtom (_In_ RTL_ATOM Atom, _In_ ATOM_INFORMATION_CLASS AtomInformationClass, _Out_ PVOID AtomInformation, _In_ ULONG AtomInformationLength, _Out_opt_ PULONG ReturnLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryInstallUILanguage (LANGID *LanguageId)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryMutant (_In_ HANDLE MutantHandle, _In_ MUTANT_INFORMATION_CLASS MutantInformationClass, _Out_ PVOID MutantInformation, _In_ ULONG Length, _Out_ PULONG ResultLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQuerySemaphore (_In_ HANDLE SemaphoreHandle, _In_ SEMAPHORE_INFORMATION_CLASS SemaphoreInformationClass, _Out_ PVOID SemaphoreInformation, _In_ ULONG Length, _Out_ PULONG ReturnLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemEnvironmentValue (_In_ PUNICODE_STRING Name, _Out_ PWSTR Value, ULONG Length, PULONG ReturnLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemEnvironmentValueEx (_In_ PUNICODE_STRING VariableName, _In_ LPGUID VendorGuid, _Out_opt_ PVOID Value, _Inout_ PULONG ReturnLength, _Out_opt_ PULONG Attributes)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemInformation (_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass, _Out_writes_bytes_to_opt_(SystemInformationLength, *ReturnLength) PVOID SystemInformation, _In_ ULONG SystemInformationLength, _Out_opt_ PULONG ReturnLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryTimer (_In_ HANDLE TimerHandle, _In_ TIMER_INFORMATION_CLASS TimerInformationClass, _Out_ PVOID TimerInformation, _In_ ULONG Length, _Out_ PULONG ResultLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtRaiseHardError (_In_ NTSTATUS ErrorStatus, _In_ ULONG NumberOfParameters, _In_ ULONG UnicodeStringParameterMask, _In_ PULONG_PTR Parameters, _In_ ULONG ValidResponseOptions, _Out_ PULONG Response)
 
NTSYSCALLAPI NTSTATUS NTAPI NtReleaseMutant (_In_ HANDLE MutantHandle, _In_opt_ PLONG ReleaseCount)
 
NTSYSCALLAPI NTSTATUS NTAPI NtReleaseSemaphore (_In_ HANDLE SemaphoreHandle, _In_ LONG ReleaseCount, _Out_opt_ PLONG PreviousCount)
 
NTSYSCALLAPI NTSTATUS NTAPI NtResetEvent (_In_ HANDLE EventHandle, _Out_opt_ PLONG NumberOfWaitingThreads)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetDefaultLocale (_In_ BOOLEAN UserProfile, _In_ LCID DefaultLocaleId)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetDefaultUILanguage (LANGID LanguageId)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetDefaultHardErrorPort (_In_ HANDLE PortHandle)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetEvent (_In_ HANDLE EventHandle, _Out_opt_ PLONG PreviousState)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetEventBoostPriority (_In_ HANDLE EventHandle)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetHighEventPair (_In_ HANDLE EventPairHandle)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetHighWaitLowEventPair (_In_ HANDLE EventPairHandle)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetLowEventPair (_In_ HANDLE EventPair)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetLowWaitHighEventPair (_In_ HANDLE EventPair)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetSystemEnvironmentValue (_In_ PUNICODE_STRING VariableName, _In_ PUNICODE_STRING Value)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetSystemEnvironmentValueEx (_In_ PUNICODE_STRING VariableName, _In_ LPGUID VendorGuid, _In_reads_bytes_opt_(ValueLength) PVOID Value, _In_ ULONG ValueLength, _In_ ULONG Attributes)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtSetSystemInformation (_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass, _In_reads_bytes_(SystemInformationLength) PVOID SystemInformation, _In_ ULONG SystemInformationLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetTimer (_In_ HANDLE TimerHandle, _In_ PLARGE_INTEGER DueTime, _In_ PTIMER_APC_ROUTINE TimerApcRoutine, _In_ PVOID TimerContext, _In_ BOOLEAN WakeTimer, _In_opt_ LONG Period, _Out_opt_ PBOOLEAN PreviousState)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetUuidSeed (_In_ PUCHAR UuidSeed)
 
NTSYSCALLAPI NTSTATUS NTAPI NtShutdownSystem (_In_ SHUTDOWN_ACTION Action)
 
NTSYSCALLAPI NTSTATUS NTAPI NtWaitHighEventPair (_In_ HANDLE EventPairHandle)
 
NTSYSCALLAPI NTSTATUS NTAPI NtWaitLowEventPair (_In_ HANDLE EventPairHandle)
 
NTSYSCALLAPI NTSTATUS NTAPI NtTraceEvent (_In_ ULONG TraceHandle, _In_ ULONG Flags, _In_ ULONG TraceHeaderLength, _In_ PEVENT_TRACE_HEADER TraceHeader)
 
NTSYSAPI NTSTATUS NTAPI ZwAddAtom (_In_ PWSTR AtomName, _In_ ULONG AtomNameLength, _Inout_ PRTL_ATOM Atom)
 
NTSYSAPI NTSTATUS NTAPI ZwClearEvent (_In_ HANDLE EventHandle)
 
NTSYSAPI NTSTATUS NTAPI ZwCreateEventPair (_Out_ PHANDLE EventPairHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSAPI NTSTATUS NTAPI ZwCreateMutant (_Out_ PHANDLE MutantHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ BOOLEAN InitialOwner)
 
NTSYSAPI NTSTATUS NTAPI ZwCreateSemaphore (_Out_ PHANDLE SemaphoreHandle, _In_ ACCESS_MASK DesiredAccess, _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ LONG InitialCount, _In_ LONG MaximumCount)
 
NTSYSAPI NTSTATUS NTAPI ZwDeleteAtom (_In_ RTL_ATOM Atom)
 
NTSYSAPI NTSTATUS NTAPI ZwDisplayString (_In_ PUNICODE_STRING DisplayString)
 
NTSYSAPI NTSTATUS NTAPI ZwFindAtom (_In_ PWSTR AtomName, _In_ ULONG AtomNameLength, _Out_opt_ PRTL_ATOM Atom)
 
NTSYSCALLAPI NTSTATUS NTAPI ZwOpenEvent (_Out_ PHANDLE EventHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSAPI NTSTATUS NTAPI ZwOpenEventPair (_Out_ PHANDLE EventPairHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSAPI NTSTATUS NTAPI ZwOpenMutant (_Out_ PHANDLE MutantHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSAPI NTSTATUS NTAPI ZwOpenSemaphore (_Out_ PHANDLE SemaphoreHandle, _In_ ACCESS_MASK DesiredAcces, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSAPI NTSTATUS NTAPI ZwPulseEvent (_In_ HANDLE EventHandle, _In_opt_ PLONG PulseCount)
 
NTSYSAPI NTSTATUS NTAPI ZwQueryDefaultLocale (_In_ BOOLEAN UserProfile, _Out_ PLCID DefaultLocaleId)
 
NTSYSAPI NTSTATUS NTAPI ZwQueryDefaultUILanguage (LANGID *LanguageId)
 
NTSYSAPI NTSTATUS NTAPI ZwQueryEvent (_In_ HANDLE EventHandle, _In_ EVENT_INFORMATION_CLASS EventInformationClass, _Out_ PVOID EventInformation, _In_ ULONG EventInformationLength, _Out_ PULONG ReturnLength)
 
NTSYSAPI NTSTATUS NTAPI ZwQueryInformationAtom (_In_ RTL_ATOM Atom, _In_ ATOM_INFORMATION_CLASS AtomInformationClass, _Out_ PVOID AtomInformation, _In_ ULONG AtomInformationLength, _Out_opt_ PULONG ReturnLength)
 
NTSYSAPI NTSTATUS NTAPI ZwQueryInstallUILanguage (LANGID *LanguageId)
 
NTSYSAPI NTSTATUS NTAPI ZwQueryMutant (_In_ HANDLE MutantHandle, _In_ MUTANT_INFORMATION_CLASS MutantInformationClass, _Out_ PVOID MutantInformation, _In_ ULONG Length, _Out_ PULONG ResultLength)
 
NTSYSAPI NTSTATUS NTAPI ZwQuerySemaphore (_In_ HANDLE SemaphoreHandle, _In_ SEMAPHORE_INFORMATION_CLASS SemaphoreInformationClass, _Out_ PVOID SemaphoreInformation, _In_ ULONG Length, _Out_ PULONG ReturnLength)
 
NTSYSAPI NTSTATUS NTAPI ZwQuerySystemEnvironmentValue (_In_ PUNICODE_STRING Name, _Out_ PWSTR Value, _In_ ULONG Length, _Out_ PULONG ReturnLength)
 
NTSYSAPI NTSTATUS NTAPI ZwQuerySystemInformation (_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass, _Out_writes_bytes_to_opt_(SystemInformationLength, *ReturnLength) PVOID SystemInformation, _In_ ULONG SystemInformationLength, _Out_opt_ PULONG ReturnLength)
 
NTSYSAPI NTSTATUS NTAPI ZwQueryTimer (_In_ HANDLE TimerHandle, _In_ TIMER_INFORMATION_CLASS TimerInformationClass, _Out_ PVOID TimerInformation, _In_ ULONG Length, _Out_ PULONG ResultLength)
 
NTSYSAPI NTSTATUS NTAPI ZwRaiseHardError (_In_ NTSTATUS ErrorStatus, _In_ ULONG NumberOfParameters, _In_ ULONG UnicodeStringParameterMask, _In_ PULONG_PTR Parameters, _In_ ULONG ValidResponseOptions, _Out_ PULONG Response)
 
NTSYSAPI NTSTATUS NTAPI ZwReleaseMutant (_In_ HANDLE MutantHandle, _In_opt_ PLONG ReleaseCount)
 
NTSYSAPI NTSTATUS NTAPI ZwReleaseSemaphore (_In_ HANDLE SemaphoreHandle, _In_ LONG ReleaseCount, _Out_opt_ PLONG PreviousCount)
 
NTSYSAPI NTSTATUS NTAPI ZwResetEvent (_In_ HANDLE EventHandle, _Out_opt_ PLONG NumberOfWaitingThreads)
 
NTSYSAPI NTSTATUS NTAPI ZwSetDefaultLocale (_In_ BOOLEAN UserProfile, _In_ LCID DefaultLocaleId)
 
NTSYSAPI NTSTATUS NTAPI ZwSetDefaultUILanguage (LANGID LanguageId)
 
NTSYSAPI NTSTATUS NTAPI ZwSetDefaultHardErrorPort (_In_ HANDLE PortHandle)
 
NTSYSAPI NTSTATUS NTAPI ZwSetEvent (_In_ HANDLE EventHandle, _Out_opt_ PLONG PreviousState)
 
NTSYSAPI NTSTATUS NTAPI ZwSetHighEventPair (_In_ HANDLE EventPairHandle)
 
NTSYSAPI NTSTATUS NTAPI ZwSetHighWaitLowEventPair (_In_ HANDLE EventPairHandle)
 
NTSYSAPI NTSTATUS NTAPI ZwSetLowEventPair (_In_ HANDLE EventPair)
 
NTSYSAPI NTSTATUS NTAPI ZwSetLowWaitHighEventPair (_In_ HANDLE EventPair)
 
NTSYSAPI NTSTATUS NTAPI ZwSetSystemEnvironmentValue (_In_ PUNICODE_STRING VariableName, _In_ PUNICODE_STRING Value)
 
NTSYSAPI NTSTATUS NTAPI ZwSetSystemInformation (_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass, _In_reads_bytes_(SystemInformationLength) PVOID SystemInformation, _In_ ULONG SystemInformationLength)
 
NTSYSAPI NTSTATUS NTAPI ZwSetUuidSeed (_In_ PUCHAR UuidSeed)
 
NTSYSAPI NTSTATUS NTAPI ZwShutdownSystem (_In_ SHUTDOWN_ACTION Action)
 
NTSYSAPI NTSTATUS NTAPI ZwWaitHighEventPair (_In_ HANDLE EventPairHandle)
 
NTSYSAPI NTSTATUS NTAPI ZwWaitLowEventPair (_In_ HANDLE EventPairHandle)
 
NTSYSAPI NTSTATUS NTAPI ZwTraceEvent (_In_ ULONG TraceHandle, _In_ ULONG Flags, _In_ ULONG TraceHeaderLength, _In_ PEVENT_TRACE_HEADER TraceHeader)
 

Variables

_In_ ACCESS_MASK DesiredAccess
 
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes
 
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_ EVENT_TYPE EventType
 
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_ EVENT_TYPE _In_ BOOLEAN InitialState
 
_In_ ACCESS_MASK AccessMask
 
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _In_ ULONG Flags
 
_In_ PVOID Key
 
_In_ PVOID _In_ BOOLEAN Alertable
 
_In_ PVOID _In_ BOOLEAN _In_opt_ PLARGE_INTEGER Timeout
 

Macro Definition Documentation

◆ PEVENT_TRACE_HEADER_DEFINED

#define PEVENT_TRACE_HEADER_DEFINED

Definition at line 37 of file exfuncs.h.

Typedef Documentation

◆ PEVENT_TRACE_HEADER

Definition at line 38 of file exfuncs.h.

Function Documentation

◆ _IRQL_requires_max_()

_IRQL_requires_max_ ( PASSIVE_LEVEL  )

Queries information details about a security descriptor.

Computes the quota size of a security descriptor.

Assigns a security descriptor for a new object.

An extended function that assigns a security descriptor for a new object.

Frees a security descriptor.

An extended function that sets new information data to a security descriptor.

Modifies some information data about a security descriptor.

Parameters
[in]SecurityInformationSecurity information details to be queried from a security descriptor.
[out]SecurityDescriptorThe returned security descriptor with security information data.
[in,out]LengthThe returned length of a security descriptor.
[in,out]ObjectsSecurityDescriptorThe returned object security descriptor.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the specific information about the security descriptor has been queried. STATUS_BUFFER_TOO_SMALL is returned if the buffer size is too small to contain the queried info about the security descriptor.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
See SeSetSecurityDescriptorInfoEx.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]AutoInheritFlagsFlags bitmask inheritation, influencing how the security descriptor can be inherited and if it can be in the first place.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
Returns STATUS_SUCCESS if the operations have been completed without problems and that new info has been set to the security descriptor. STATUS_NO_SECURITY_ON_OBJECT is returned if the object does not have a security descriptor. STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the new security descriptor with new info set has failed.
Parameters
[in]SecurityDescriptorA security descriptor to be freed from memory.
Returns
Returns STATUS_SUCCESS.
Parameters
[in]_ParentDescriptorA security descriptor of the parent object that is being created.
[in]_ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]ObjectTypeThe type of the new object.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]AutoInheritFlagsAutomatic inheritance flags that influence how access control entries within ACLs from security descriptors are inherited.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the security descriptor has been assigned to the new object. STATUS_NO_TOKEN is returned if the caller hasn't supplied a valid argument to a security subject context. STATUS_INVALID_OWNER is returned if the caller hasn't supplied a parent descriptor that belongs to the main user (owner). STATUS_INVALID_PRIMARY_GROUP is returned by the same reason as with the previous NTSTATUS code. The two NTSTATUS codes are returned if the calling thread stated that the owner and/or group is defaulted to the parent descriptor (SEF_DEFAULT_OWNER_FROM_PARENT and/or SEF_DEFAULT_GROUP_FROM_PARENT respectively). STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the descriptor buffer has failed. A failure NTSTATUS is returned otherwise.
Parameters
[in]ParentDescriptorA security descriptor of the parent object that is being created.
[in]ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
See SeAssignSecurityEx.
Parameters
[in]SecurityDescriptorA security descriptor.
[out]QuotaInfoSizeThe returned quota size of the given security descriptor to the caller. The function may return 0 to this parameter if the descriptor doesn't have a group or a discretionary access control list (DACL) even.
Returns
Returns STATUS_SUCCESS if the quota size of a security descriptor has been computed successfully. STATUS_UNKNOWN_REVISION is returned if the security descriptor has an invalid revision.

Definition at line 923 of file Messaging.c.

75{
76 PFLT_SERVER_PORT_OBJECT PortObject;
78
79 /* The caller must allow at least one connection */
80 if (MaxConnections == 0)
81 {
83 }
84
85 /* The request must be for a kernel handle */
86 if (!(ObjectAttributes->Attributes & OBJ_KERNEL_HANDLE))
87 {
89 }
90
91 /*
92 * Get rundown protection on the target to stop the owner
93 * from unloading whilst this port object is open. It gets
94 * removed in the FltpServerPortClose callback
95 */
97 if (!NT_SUCCESS(Status))
98 {
99 return Status;
100 }
101
102 /* Create the server port object for this filter */
107 NULL,
109 0,
110 0,
111 (PVOID *)&PortObject);
112 if (NT_SUCCESS(Status))
113 {
114 /* Zero out the struct */
115 RtlZeroMemory(PortObject, sizeof(FLT_SERVER_PORT_OBJECT));
116
117 /* Increment the ref count on the target filter */
119
120 /* Setup the filter port object */
121 PortObject->Filter = Filter;
125 PortObject->Cookie = ServerPortCookie;
126 PortObject->MaxConnections = MaxConnections;
127
128 /* Insert the object */
129 Status = ObInsertObject(PortObject,
130 NULL,
132 0,
133 NULL,
135 if (NT_SUCCESS(Status))
136 {
137 /* Lock the connection list */
139
140 /* Add the new port object to the connection list and increment the count */
143
144 /* Unlock the connection list*/
146 }
147 }
148
149 if (!NT_SUCCESS(Status))
150 {
151 /* Allow the filter to be cleaned up */
153 }
154
155 return Status;
156}
static const INTERNET_PORT ServerPort
Definition: CWebService.cpp:11
POBJECT_TYPE ServerPortObjectType
Definition: Messaging.c:24
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
Definition: Object.c:53
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
Definition: Object.c:41
LONG NTSTATUS
Definition: precomp.h:26
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:36
#define NULL
Definition: types.h:112
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define InsertTailList(ListHead, Entry)
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY MessageNotifyCallback
Definition: fltkernel.h:1877
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
Definition: fltkernel.h:1875
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID ServerPortCookie
Definition: fltkernel.h:1874
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback
Definition: fltkernel.h:1876
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:322
Status
Definition: gdiplustypes.h:25
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:23
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
static LONG MaxConnections
#define KernelMode
Definition: asm.h:34
#define FILE_READ_DATA
Definition: nt_native.h:628
#define STANDARD_RIGHTS_ALL
Definition: nt_native.h:69
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
Definition: obhandle.c:2935
NTSTATUS NTAPI ObCreateObject(IN KPROCESSOR_MODE ProbeMode OPTIONAL, IN POBJECT_TYPE Type, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectSize, IN ULONG PagedPoolCharge OPTIONAL, IN ULONG NonPagedPoolCharge OPTIONAL, OUT PVOID *Object)
Definition: oblife.c:1039
FLT_MUTEX_LIST_HEAD ConnectionList
Definition: fltmgrint.h:121
LIST_ENTRY mList
Definition: fltmgrint.h:56
FAST_MUTEX mLock
Definition: fltmgrint.h:55
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:192
PFLT_MESSAGE_NOTIFY MessageNotify
Definition: fltmgrint.h:193
PFLT_CONNECT_NOTIFY ConnectNotify
Definition: fltmgrint.h:191
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135

◆ ExEnterCriticalRegionAndAcquireFastMutexUnsafe()

VOID FASTCALL ExEnterCriticalRegionAndAcquireFastMutexUnsafe ( _Inout_ PFAST_MUTEX  FastMutex)

◆ ExEnumHandleTable()

NTKERNELAPI BOOLEAN NTAPI ExEnumHandleTable ( _In_ PHANDLE_TABLE  HandleTable,
_In_ PEX_ENUM_HANDLE_CALLBACK  EnumHandleProcedure,
_Inout_ PVOID  Context,
_Out_opt_ PHANDLE  Handle 
)

◆ ExfAcquirePushLockExclusive()

VOID FASTCALL ExfAcquirePushLockExclusive ( _Inout_ PEX_PUSH_LOCK  PushLock)

◆ ExfAcquirePushLockShared()

VOID FASTCALL ExfAcquirePushLockShared ( _Inout_ PEX_PUSH_LOCK  PushLock)

◆ ExfReleasePushLock()

VOID FASTCALL ExfReleasePushLock ( _Inout_ PEX_PUSH_LOCK  PushLock)

◆ ExfReleasePushLockExclusive()

VOID FASTCALL ExfReleasePushLockExclusive ( _Inout_ PEX_PUSH_LOCK  PushLock)

◆ ExfReleasePushLockShared()

VOID FASTCALL ExfReleasePushLockShared ( _Inout_ PEX_PUSH_LOCK  PushLock)

◆ ExfTryToWakePushLock()

VOID FASTCALL ExfTryToWakePushLock ( _Inout_ PEX_PUSH_LOCK  PushLock)

◆ ExfUnblockPushLock()

VOID FASTCALL ExfUnblockPushLock ( _Inout_ PEX_PUSH_LOCK  PushLock,
_Inout_ PVOID  CurrentWaitBlock 
)

◆ ExRaiseHardError()

NTSTATUS NTAPI ExRaiseHardError ( _In_ NTSTATUS  ErrorStatus,
_In_ ULONG  NumberOfParameters,
_In_ ULONG  UnicodeStringParameterMask,
_In_ PULONG_PTR  Parameters,
_In_ ULONG  ValidResponseOptions,
_Out_ PULONG  Response 
)

◆ ExReleaseFastMutexUnsafeAndLeaveCriticalRegion()

VOID FASTCALL ExReleaseFastMutexUnsafeAndLeaveCriticalRegion ( _Inout_ PFAST_MUTEX  FastMutex)

◆ NtAddAtom()

NTSYSCALLAPI NTSTATUS NTAPI NtAddAtom ( _In_ PWSTR  AtomName,
_In_ ULONG  AtomNameLength,
_Inout_ PRTL_ATOM  Atom 
)

◆ NtCancelTimer()

NTSYSCALLAPI NTSTATUS NTAPI NtCancelTimer ( _In_ HANDLE  TimerHandle,
_Out_opt_ PBOOLEAN  CurrentState 
)

◆ NtClearEvent()

NTSYSCALLAPI NTSTATUS NTAPI NtClearEvent ( _In_ HANDLE  EventHandle)

◆ NtCreateEventPair()

NTSYSCALLAPI NTSTATUS NTAPI NtCreateEventPair ( _Out_ PHANDLE  EventPairHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ NtCreateMutant()

NTSYSCALLAPI NTSTATUS NTAPI NtCreateMutant ( _Out_ PHANDLE  MutantHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_In_ BOOLEAN  InitialOwner 
)

◆ NtCreateSemaphore()

NTSYSCALLAPI NTSTATUS NTAPI NtCreateSemaphore ( _Out_ PHANDLE  SemaphoreHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_opt_ POBJECT_ATTRIBUTES  ObjectAttributes,
_In_ LONG  InitialCount,
_In_ LONG  MaximumCount 
)

◆ NtCreateTimer()

NTSYSCALLAPI NTSTATUS NTAPI NtCreateTimer ( _Out_ PHANDLE  TimerHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_opt_ POBJECT_ATTRIBUTES  ObjectAttributes,
_In_ TIMER_TYPE  TimerType 
)

◆ NtDeleteAtom()

NTSYSCALLAPI NTSTATUS NTAPI NtDeleteAtom ( _In_ RTL_ATOM  Atom)

◆ NtDisplayString()

NTSYSCALLAPI NTSTATUS NTAPI NtDisplayString ( _In_ PUNICODE_STRING  DisplayString)

◆ NtEnumerateSystemEnvironmentValuesEx()

NTSYSCALLAPI NTSTATUS NTAPI NtEnumerateSystemEnvironmentValuesEx ( _In_ ULONG  InformationClass,
_In_ PVOID  Buffer,
_In_ ULONG  BufferLength 
)

◆ NtFindAtom()

NTSYSCALLAPI NTSTATUS NTAPI NtFindAtom ( _In_ PWSTR  AtomName,
_In_ ULONG  AtomNameLength,
_Out_opt_ PRTL_ATOM  Atom 
)

◆ NtOpenEvent()

NTSYSCALLAPI NTSTATUS NTAPI NtOpenEvent ( _Out_ PHANDLE  EventHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ NtOpenEventPair()

NTSYSCALLAPI NTSTATUS NTAPI NtOpenEventPair ( _Out_ PHANDLE  EventPairHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ NtOpenMutant()

NTSYSCALLAPI NTSTATUS NTAPI NtOpenMutant ( _Out_ PHANDLE  MutantHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ NtOpenSemaphore()

NTSYSCALLAPI NTSTATUS NTAPI NtOpenSemaphore ( _Out_ PHANDLE  SemaphoreHandle,
_In_ ACCESS_MASK  DesiredAcces,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ NtOpenTimer()

NTSYSCALLAPI NTSTATUS NTAPI NtOpenTimer ( _Out_ PHANDLE  TimerHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ NtPulseEvent()

NTSYSCALLAPI NTSTATUS NTAPI NtPulseEvent ( _In_ HANDLE  EventHandle,
_In_opt_ PLONG  PulseCount 
)

◆ NtQueryDefaultLocale()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryDefaultLocale ( _In_ BOOLEAN  UserProfile,
_Out_ PLCID  DefaultLocaleId 
)

◆ NtQueryDefaultUILanguage()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryDefaultUILanguage ( LANGID LanguageId)

◆ NtQueryEvent()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryEvent ( _In_ HANDLE  EventHandle,
_In_ EVENT_INFORMATION_CLASS  EventInformationClass,
_Out_ PVOID  EventInformation,
_In_ ULONG  EventInformationLength,
_Out_ PULONG  ReturnLength 
)

◆ NtQueryInformationAtom()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationAtom ( _In_ RTL_ATOM  Atom,
_In_ ATOM_INFORMATION_CLASS  AtomInformationClass,
_Out_ PVOID  AtomInformation,
_In_ ULONG  AtomInformationLength,
_Out_opt_ PULONG  ReturnLength 
)

◆ NtQueryInstallUILanguage()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryInstallUILanguage ( LANGID LanguageId)

◆ NtQueryMutant()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryMutant ( _In_ HANDLE  MutantHandle,
_In_ MUTANT_INFORMATION_CLASS  MutantInformationClass,
_Out_ PVOID  MutantInformation,
_In_ ULONG  Length,
_Out_ PULONG  ResultLength 
)

◆ NtQuerySemaphore()

NTSYSCALLAPI NTSTATUS NTAPI NtQuerySemaphore ( _In_ HANDLE  SemaphoreHandle,
_In_ SEMAPHORE_INFORMATION_CLASS  SemaphoreInformationClass,
_Out_ PVOID  SemaphoreInformation,
_In_ ULONG  Length,
_Out_ PULONG  ReturnLength 
)

◆ NtQuerySystemEnvironmentValue()

NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemEnvironmentValue ( _In_ PUNICODE_STRING  Name,
_Out_ PWSTR  Value,
ULONG  Length,
PULONG  ReturnLength 
)

◆ NtQuerySystemEnvironmentValueEx()

NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemEnvironmentValueEx ( _In_ PUNICODE_STRING  VariableName,
_In_ LPGUID  VendorGuid,
_Out_opt_ PVOID  Value,
_Inout_ PULONG  ReturnLength,
_Out_opt_ PULONG  Attributes 
)

Definition at line 567 of file sysinfo.c.

573{
576}
#define UNIMPLEMENTED
Definition: debug.h:115
#define STATUS_NOT_IMPLEMENTED
Definition: ntstatus.h:239

Referenced by _Success_().

◆ NtQuerySystemInformation()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemInformation ( _In_ SYSTEM_INFORMATION_CLASS  SystemInformationClass,
_Out_writes_bytes_to_opt_(SystemInformationLength, *ReturnLength) PVOID  SystemInformation,
_In_ ULONG  SystemInformationLength,
_Out_opt_ PULONG  ReturnLength 
)

Definition at line 2931 of file sysinfo.c.

2936{
2938 ULONG CapturedResultLength = 0;
2941
2942 PAGED_CODE();
2943
2945
2946 _SEH2_TRY
2947 {
2948#if (NTDDI_VERSION >= NTDDI_VISTA)
2949 /*
2950 * Check whether the request is valid.
2951 */
2952 if (SystemInformationClass < MIN_SYSTEM_INFO_CLASS ||
2953 SystemInformationClass >= MAX_SYSTEM_INFO_CLASS)
2954 {
2956 }
2957#endif
2958
2959 if (PreviousMode != KernelMode)
2960 {
2961 /* SystemKernelDebuggerInformation needs only BOOLEAN alignment */
2962 if (SystemInformationClass == SystemKernelDebuggerInformation)
2964
2965 ProbeForWrite(SystemInformation, SystemInformationLength, Alignment);
2966 if (ReturnLength != NULL)
2968 }
2969
2970 if (ReturnLength)
2971 *ReturnLength = 0;
2972
2973#if (NTDDI_VERSION < NTDDI_VISTA)
2974 /*
2975 * Check whether the request is valid.
2976 */
2977 if (SystemInformationClass < MIN_SYSTEM_INFO_CLASS ||
2978 SystemInformationClass >= MAX_SYSTEM_INFO_CLASS)
2979 {
2981 }
2982#endif
2983
2984 if (CallQS[SystemInformationClass].Query != NULL)
2985 {
2986 /* Hand the request to a subhandler */
2987 Status = CallQS[SystemInformationClass].Query(SystemInformation,
2988 SystemInformationLength,
2989 &CapturedResultLength);
2990
2991 /* Save the result length to the caller */
2992 if (ReturnLength)
2993 *ReturnLength = CapturedResultLength;
2994 }
2995 }
2997 {
2999 }
3000 _SEH2_END;
3001
3002 return Status;
3003}
#define PAGED_CODE()
unsigned char BOOLEAN
BOOL Query(LPCTSTR *ServiceArgs, DWORD ArgCount, BOOL bExtended)
Definition: query.c:292
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
Definition: dumpinfo.c:43
#define ExGetPreviousMode
Definition: ex.h:140
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:143
#define _SEH2_END
Definition: filesup.c:22
#define _SEH2_TRY
Definition: filesup.c:19
@ SystemKernelDebuggerInformation
Definition: ntddk_ex.h:46
LONG NTAPI ExSystemExceptionFilter(VOID)
Definition: harderr.c:349
#define TYPE_ALIGNMENT(t)
Definition: ntbasedef.h:117
#define MAX_SYSTEM_INFO_CLASS
Definition: sysinfo.c:2923
#define MIN_SYSTEM_INFO_CLASS
Definition: sysinfo.c:2922
static QSSI_CALLS CallQS[]
Definition: sysinfo.c:2840
#define STATUS_INVALID_INFO_CLASS
Definition: ntstatus.h:240
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:159
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:34
#define _SEH2_YIELD(__stmt)
Definition: pseh2_64.h:162
#define ProbeForWriteUlong(Ptr)
Definition: probe.h:36
NTSTATUS(* Query)(PVOID, ULONG, PULONG)
Definition: sysinfo.c:2824
uint32_t ULONG
Definition: typedefs.h:59
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
_In_ KPROCESSOR_MODE PreviousMode
Definition: sefuncs.h:103

◆ NtQueryTimer()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryTimer ( _In_ HANDLE  TimerHandle,
_In_ TIMER_INFORMATION_CLASS  TimerInformationClass,
_Out_ PVOID  TimerInformation,
_In_ ULONG  Length,
_Out_ PULONG  ResultLength 
)

◆ NtRaiseHardError()

NTSYSCALLAPI NTSTATUS NTAPI NtRaiseHardError ( _In_ NTSTATUS  ErrorStatus,
_In_ ULONG  NumberOfParameters,
_In_ ULONG  UnicodeStringParameterMask,
_In_ PULONG_PTR  Parameters,
_In_ ULONG  ValidResponseOptions,
_Out_ PULONG  Response 
)

◆ NtReleaseMutant()

NTSYSCALLAPI NTSTATUS NTAPI NtReleaseMutant ( _In_ HANDLE  MutantHandle,
_In_opt_ PLONG  ReleaseCount 
)

◆ NtReleaseSemaphore()

NTSYSCALLAPI NTSTATUS NTAPI NtReleaseSemaphore ( _In_ HANDLE  SemaphoreHandle,
_In_ LONG  ReleaseCount,
_Out_opt_ PLONG  PreviousCount 
)

◆ NtResetEvent()

NTSYSCALLAPI NTSTATUS NTAPI NtResetEvent ( _In_ HANDLE  EventHandle,
_Out_opt_ PLONG  NumberOfWaitingThreads 
)

◆ NtSetDefaultHardErrorPort()

NTSYSCALLAPI NTSTATUS NTAPI NtSetDefaultHardErrorPort ( _In_ HANDLE  PortHandle)

◆ NtSetDefaultLocale()

NTSYSCALLAPI NTSTATUS NTAPI NtSetDefaultLocale ( _In_ BOOLEAN  UserProfile,
_In_ LCID  DefaultLocaleId 
)

◆ NtSetDefaultUILanguage()

NTSYSCALLAPI NTSTATUS NTAPI NtSetDefaultUILanguage ( LANGID  LanguageId)

◆ NtSetEvent()

NTSYSCALLAPI NTSTATUS NTAPI NtSetEvent ( _In_ HANDLE  EventHandle,
_Out_opt_ PLONG  PreviousState 
)

◆ NtSetEventBoostPriority()

NTSYSCALLAPI NTSTATUS NTAPI NtSetEventBoostPriority ( _In_ HANDLE  EventHandle)

◆ NtSetHighEventPair()

NTSYSCALLAPI NTSTATUS NTAPI NtSetHighEventPair ( _In_ HANDLE  EventPairHandle)

◆ NtSetHighWaitLowEventPair()

NTSYSCALLAPI NTSTATUS NTAPI NtSetHighWaitLowEventPair ( _In_ HANDLE  EventPairHandle)

◆ NtSetLowEventPair()

NTSYSCALLAPI NTSTATUS NTAPI NtSetLowEventPair ( _In_ HANDLE  EventPair)

◆ NtSetLowWaitHighEventPair()

NTSYSCALLAPI NTSTATUS NTAPI NtSetLowWaitHighEventPair ( _In_ HANDLE  EventPair)

◆ NtSetSystemEnvironmentValue()

NTSYSCALLAPI NTSTATUS NTAPI NtSetSystemEnvironmentValue ( _In_ PUNICODE_STRING  VariableName,
_In_ PUNICODE_STRING  Value 
)

◆ NtSetSystemEnvironmentValueEx()

NTSYSCALLAPI NTSTATUS NTAPI NtSetSystemEnvironmentValueEx ( _In_ PUNICODE_STRING  VariableName,
_In_ LPGUID  VendorGuid,
_In_reads_bytes_opt_(ValueLength) PVOID  Value,
_In_ ULONG  ValueLength,
_In_ ULONG  Attributes 
)

Definition at line 580 of file sysinfo.c.

586{
589}

Referenced by SetFirmwareEnvironmentVariableExW().

◆ NtSetSystemInformation()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtSetSystemInformation ( _In_ SYSTEM_INFORMATION_CLASS  SystemInformationClass,
_In_reads_bytes_(SystemInformationLength) PVOID  SystemInformation,
_In_ ULONG  SystemInformationLength 
)

Definition at line 3008 of file sysinfo.c.

3012{
3015
3016 PAGED_CODE();
3017
3019
3020 _SEH2_TRY
3021 {
3022 /*
3023 * If called from user mode, check possible unsafe arguments.
3024 */
3025 if (PreviousMode != KernelMode)
3026 {
3027 ProbeForRead(SystemInformation, SystemInformationLength, sizeof(ULONG));
3028 }
3029
3030 /*
3031 * Check whether the request is valid.
3032 */
3033 if ((SystemInformationClass >= MIN_SYSTEM_INFO_CLASS) &&
3034 (SystemInformationClass < MAX_SYSTEM_INFO_CLASS))
3035 {
3036 if (CallQS[SystemInformationClass].Set != NULL)
3037 {
3038 /* Hand the request to a subhandler */
3039 Status = CallQS[SystemInformationClass].Set(SystemInformation,
3040 SystemInformationLength);
3041 }
3042 }
3043 }
3045 {
3047 }
3048 _SEH2_END;
3049
3050 return Status;
3051}
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:102
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
static BOOL Set
Definition: pageheap.c:10
NTSTATUS(* Set)(PVOID, ULONG)
Definition: sysinfo.c:2825

◆ NtSetTimer()

NTSYSCALLAPI NTSTATUS NTAPI NtSetTimer ( _In_ HANDLE  TimerHandle,
_In_ PLARGE_INTEGER  DueTime,
_In_ PTIMER_APC_ROUTINE  TimerApcRoutine,
_In_ PVOID  TimerContext,
_In_ BOOLEAN  WakeTimer,
_In_opt_ LONG  Period,
_Out_opt_ PBOOLEAN  PreviousState 
)

◆ NtSetUuidSeed()

NTSYSCALLAPI NTSTATUS NTAPI NtSetUuidSeed ( _In_ PUCHAR  UuidSeed)

◆ NtShutdownSystem()

NTSYSCALLAPI NTSTATUS NTAPI NtShutdownSystem ( _In_ SHUTDOWN_ACTION  Action)

◆ NtTraceEvent()

NTSYSCALLAPI NTSTATUS NTAPI NtTraceEvent ( _In_ ULONG  TraceHandle,
_In_ ULONG  Flags,
_In_ ULONG  TraceHeaderLength,
_In_ PEVENT_TRACE_HEADER  TraceHeader 
)

◆ NtWaitHighEventPair()

NTSYSCALLAPI NTSTATUS NTAPI NtWaitHighEventPair ( _In_ HANDLE  EventPairHandle)

◆ NtWaitLowEventPair()

NTSYSCALLAPI NTSTATUS NTAPI NtWaitLowEventPair ( _In_ HANDLE  EventPairHandle)

◆ ZwAddAtom()

NTSYSAPI NTSTATUS NTAPI ZwAddAtom ( _In_ PWSTR  AtomName,
_In_ ULONG  AtomNameLength,
_Inout_ PRTL_ATOM  Atom 
)

◆ ZwClearEvent()

NTSYSAPI NTSTATUS NTAPI ZwClearEvent ( _In_ HANDLE  EventHandle)

◆ ZwCreateEventPair()

NTSYSAPI NTSTATUS NTAPI ZwCreateEventPair ( _Out_ PHANDLE  EventPairHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ ZwCreateMutant()

NTSYSAPI NTSTATUS NTAPI ZwCreateMutant ( _Out_ PHANDLE  MutantHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_In_ BOOLEAN  InitialOwner 
)

◆ ZwCreateSemaphore()

NTSYSAPI NTSTATUS NTAPI ZwCreateSemaphore ( _Out_ PHANDLE  SemaphoreHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_opt_ POBJECT_ATTRIBUTES  ObjectAttributes,
_In_ LONG  InitialCount,
_In_ LONG  MaximumCount 
)

◆ ZwDeleteAtom()

NTSYSAPI NTSTATUS NTAPI ZwDeleteAtom ( _In_ RTL_ATOM  Atom)

◆ ZwDisplayString()

NTSYSAPI NTSTATUS NTAPI ZwDisplayString ( _In_ PUNICODE_STRING  DisplayString)

Referenced by ExpLoadInitialProcess().

◆ ZwFindAtom()

NTSYSAPI NTSTATUS NTAPI ZwFindAtom ( _In_ PWSTR  AtomName,
_In_ ULONG  AtomNameLength,
_Out_opt_ PRTL_ATOM  Atom 
)

◆ ZwOpenEvent()

NTSYSCALLAPI NTSTATUS NTAPI ZwOpenEvent ( _Out_ PHANDLE  EventHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ ZwOpenEventPair()

NTSYSAPI NTSTATUS NTAPI ZwOpenEventPair ( _Out_ PHANDLE  EventPairHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ ZwOpenMutant()

NTSYSAPI NTSTATUS NTAPI ZwOpenMutant ( _Out_ PHANDLE  MutantHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ ZwOpenSemaphore()

NTSYSAPI NTSTATUS NTAPI ZwOpenSemaphore ( _Out_ PHANDLE  SemaphoreHandle,
_In_ ACCESS_MASK  DesiredAcces,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ ZwPulseEvent()

NTSYSAPI NTSTATUS NTAPI ZwPulseEvent ( _In_ HANDLE  EventHandle,
_In_opt_ PLONG  PulseCount 
)

◆ ZwQueryDefaultLocale()

NTSYSAPI NTSTATUS NTAPI ZwQueryDefaultLocale ( _In_ BOOLEAN  UserProfile,
_Out_ PLCID  DefaultLocaleId 
)

◆ ZwQueryDefaultUILanguage()

NTSYSAPI NTSTATUS NTAPI ZwQueryDefaultUILanguage ( LANGID LanguageId)

◆ ZwQueryEvent()

NTSYSAPI NTSTATUS NTAPI ZwQueryEvent ( _In_ HANDLE  EventHandle,
_In_ EVENT_INFORMATION_CLASS  EventInformationClass,
_Out_ PVOID  EventInformation,
_In_ ULONG  EventInformationLength,
_Out_ PULONG  ReturnLength 
)

◆ ZwQueryInformationAtom()

NTSYSAPI NTSTATUS NTAPI ZwQueryInformationAtom ( _In_ RTL_ATOM  Atom,
_In_ ATOM_INFORMATION_CLASS  AtomInformationClass,
_Out_ PVOID  AtomInformation,
_In_ ULONG  AtomInformationLength,
_Out_opt_ PULONG  ReturnLength 
)

◆ ZwQueryInstallUILanguage()

NTSYSAPI NTSTATUS NTAPI ZwQueryInstallUILanguage ( LANGID LanguageId)

◆ ZwQueryMutant()

NTSYSAPI NTSTATUS NTAPI ZwQueryMutant ( _In_ HANDLE  MutantHandle,
_In_ MUTANT_INFORMATION_CLASS  MutantInformationClass,
_Out_ PVOID  MutantInformation,
_In_ ULONG  Length,
_Out_ PULONG  ResultLength 
)

◆ ZwQuerySemaphore()

NTSYSAPI NTSTATUS NTAPI ZwQuerySemaphore ( _In_ HANDLE  SemaphoreHandle,
_In_ SEMAPHORE_INFORMATION_CLASS  SemaphoreInformationClass,
_Out_ PVOID  SemaphoreInformation,
_In_ ULONG  Length,
_Out_ PULONG  ReturnLength 
)

◆ ZwQuerySystemEnvironmentValue()

NTSYSAPI NTSTATUS NTAPI ZwQuerySystemEnvironmentValue ( _In_ PUNICODE_STRING  Name,
_Out_ PWSTR  Value,
_In_ ULONG  Length,
_Out_ PULONG  ReturnLength 
)

◆ ZwQuerySystemInformation()

NTSYSAPI NTSTATUS NTAPI ZwQuerySystemInformation ( _In_ SYSTEM_INFORMATION_CLASS  SystemInformationClass,
_Out_writes_bytes_to_opt_(SystemInformationLength, *ReturnLength) PVOID  SystemInformation,
_In_ ULONG  SystemInformationLength,
_Out_opt_ PULONG  ReturnLength 
)

◆ ZwQueryTimer()

NTSYSAPI NTSTATUS NTAPI ZwQueryTimer ( _In_ HANDLE  TimerHandle,
_In_ TIMER_INFORMATION_CLASS  TimerInformationClass,
_Out_ PVOID  TimerInformation,
_In_ ULONG  Length,
_Out_ PULONG  ResultLength 
)

◆ ZwRaiseHardError()

NTSYSAPI NTSTATUS NTAPI ZwRaiseHardError ( _In_ NTSTATUS  ErrorStatus,
_In_ ULONG  NumberOfParameters,
_In_ ULONG  UnicodeStringParameterMask,
_In_ PULONG_PTR  Parameters,
_In_ ULONG  ValidResponseOptions,
_Out_ PULONG  Response 
)

◆ ZwReleaseMutant()

NTSYSAPI NTSTATUS NTAPI ZwReleaseMutant ( _In_ HANDLE  MutantHandle,
_In_opt_ PLONG  ReleaseCount 
)

◆ ZwReleaseSemaphore()

NTSYSAPI NTSTATUS NTAPI ZwReleaseSemaphore ( _In_ HANDLE  SemaphoreHandle,
_In_ LONG  ReleaseCount,
_Out_opt_ PLONG  PreviousCount 
)

◆ ZwResetEvent()

NTSYSAPI NTSTATUS NTAPI ZwResetEvent ( _In_ HANDLE  EventHandle,
_Out_opt_ PLONG  NumberOfWaitingThreads 
)

◆ ZwSetDefaultHardErrorPort()

NTSYSAPI NTSTATUS NTAPI ZwSetDefaultHardErrorPort ( _In_ HANDLE  PortHandle)

◆ ZwSetDefaultLocale()

NTSYSAPI NTSTATUS NTAPI ZwSetDefaultLocale ( _In_ BOOLEAN  UserProfile,
_In_ LCID  DefaultLocaleId 
)

◆ ZwSetDefaultUILanguage()

NTSYSAPI NTSTATUS NTAPI ZwSetDefaultUILanguage ( LANGID  LanguageId)

◆ ZwSetEvent()

NTSYSAPI NTSTATUS NTAPI ZwSetEvent ( _In_ HANDLE  EventHandle,
_Out_opt_ PLONG  PreviousState 
)

◆ ZwSetHighEventPair()

NTSYSAPI NTSTATUS NTAPI ZwSetHighEventPair ( _In_ HANDLE  EventPairHandle)

◆ ZwSetHighWaitLowEventPair()

NTSYSAPI NTSTATUS NTAPI ZwSetHighWaitLowEventPair ( _In_ HANDLE  EventPairHandle)

◆ ZwSetLowEventPair()

NTSYSAPI NTSTATUS NTAPI ZwSetLowEventPair ( _In_ HANDLE  EventPair)

◆ ZwSetLowWaitHighEventPair()

NTSYSAPI NTSTATUS NTAPI ZwSetLowWaitHighEventPair ( _In_ HANDLE  EventPair)

◆ ZwSetSystemEnvironmentValue()

NTSYSAPI NTSTATUS NTAPI ZwSetSystemEnvironmentValue ( _In_ PUNICODE_STRING  VariableName,
_In_ PUNICODE_STRING  Value 
)

◆ ZwSetSystemInformation()

NTSYSAPI NTSTATUS NTAPI ZwSetSystemInformation ( _In_ SYSTEM_INFORMATION_CLASS  SystemInformationClass,
_In_reads_bytes_(SystemInformationLength) PVOID  SystemInformation,
_In_ ULONG  SystemInformationLength 
)

◆ ZwSetUuidSeed()

NTSYSAPI NTSTATUS NTAPI ZwSetUuidSeed ( _In_ PUCHAR  UuidSeed)

◆ ZwShutdownSystem()

NTSYSAPI NTSTATUS NTAPI ZwShutdownSystem ( _In_ SHUTDOWN_ACTION  Action)

◆ ZwTraceEvent()

NTSYSAPI NTSTATUS NTAPI ZwTraceEvent ( _In_ ULONG  TraceHandle,
_In_ ULONG  Flags,
_In_ ULONG  TraceHeaderLength,
_In_ PEVENT_TRACE_HEADER  TraceHeader 
)

◆ ZwWaitHighEventPair()

NTSYSAPI NTSTATUS NTAPI ZwWaitHighEventPair ( _In_ HANDLE  EventPairHandle)

◆ ZwWaitLowEventPair()

NTSYSAPI NTSTATUS NTAPI ZwWaitLowEventPair ( _In_ HANDLE  EventPairHandle)

Variable Documentation

◆ AccessMask

◆ Alertable

◆ DesiredAccess

Definition at line 165 of file exfuncs.h.

◆ EventType

◆ Flags

◆ InitialState

◆ Key

Definition at line 452 of file exfuncs.h.

◆ ObjectAttributes

Definition at line 166 of file exfuncs.h.

◆ Timeout

Definition at line 454 of file exfuncs.h.