ReactOS  0.4.14-dev-606-g14ebc0b
win32k.c File Reference
#include <ntoskrnl.h>
#include <debug.h>
Include dependency graph for win32k.c:

Go to the source code of this file.

Classes

struct  _WIN32_KERNEL_OBJECT_HEADER
 

Macros

#define NDEBUG
 

Typedefs

typedef struct _WIN32_KERNEL_OBJECT_HEADER WIN32_KERNEL_OBJECT_HEADER
 
typedef struct _WIN32_KERNEL_OBJECT_HEADERPWIN32_KERNEL_OBJECT_HEADER
 

Functions

NTSTATUS NTAPI ExpWin32SessionCallout (_In_ PVOID Object, _In_ PKWIN32_SESSION_CALLOUT CalloutProcedure, _Inout_opt_ PVOID Parameter)
 
BOOLEAN NTAPI ExpDesktopOkToClose (IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
 
BOOLEAN NTAPI ExpWindowStationOkToClose (IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
 
VOID NTAPI ExpWinStaObjectDelete (PVOID DeletedObject)
 
NTSTATUS NTAPI ExpWinStaObjectParse (IN PVOID ParseObject, IN PVOID ObjectType, IN OUT PACCESS_STATE AccessState, IN KPROCESSOR_MODE AccessMode, IN ULONG Attributes, IN OUT PUNICODE_STRING CompleteName, IN OUT PUNICODE_STRING RemainingName, IN OUT PVOID Context OPTIONAL, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos OPTIONAL, OUT PVOID *Object)
 
VOID NTAPI ExpDesktopDelete (PVOID DeletedObject)
 
NTSTATUS NTAPI ExpDesktopOpen (IN OB_OPEN_REASON Reason, IN PEPROCESS Process OPTIONAL, IN PVOID ObjectBody, IN ACCESS_MASK GrantedAccess, IN ULONG HandleCount)
 
VOID NTAPI ExpDesktopClose (IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN ACCESS_MASK GrantedAccess, IN ULONG ProcessHandleCount, IN ULONG SystemHandleCount)
 
BOOLEAN INIT_FUNCTION NTAPI ExpWin32kInit (VOID)
 

Variables

POBJECT_TYPE ExWindowStationObjectType = NULL
 
POBJECT_TYPE ExDesktopObjectType = NULL
 
GENERIC_MAPPING ExpWindowStationMapping
 
GENERIC_MAPPING ExpDesktopMapping
 
PKWIN32_SESSION_CALLOUT ExpWindowStationObjectParse = NULL
 
PKWIN32_SESSION_CALLOUT ExpWindowStationObjectDelete = NULL
 
PKWIN32_SESSION_CALLOUT ExpWindowStationObjectOkToClose = NULL
 
PKWIN32_SESSION_CALLOUT ExpDesktopObjectOkToClose = NULL
 
PKWIN32_SESSION_CALLOUT ExpDesktopObjectDelete = NULL
 
PKWIN32_SESSION_CALLOUT ExpDesktopObjectOpen = NULL
 
PKWIN32_SESSION_CALLOUT ExpDesktopObjectClose = NULL
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 10 of file win32k.c.

Typedef Documentation

◆ PWIN32_KERNEL_OBJECT_HEADER

◆ WIN32_KERNEL_OBJECT_HEADER

Function Documentation

◆ ExpDesktopClose()

VOID NTAPI ExpDesktopClose ( IN PEPROCESS Process  OPTIONAL,
IN PVOID  Object,
IN ACCESS_MASK  GrantedAccess,
IN ULONG  ProcessHandleCount,
IN ULONG  SystemHandleCount 
)

Definition at line 241 of file win32k.c.

246 {
248 
249  Parameters.Process = Process;
250  Parameters.Object = Object;
251  Parameters.AccessMask = GrantedAccess;
252  Parameters.ProcessHandleCount = ProcessHandleCount;
253  Parameters.SystemHandleCount = SystemHandleCount;
254 
257  &Parameters);
258 }
NTSTATUS NTAPI ExpWin32SessionCallout(_In_ PVOID Object, _In_ PKWIN32_SESSION_CALLOUT CalloutProcedure, _Inout_opt_ PVOID Parameter)
Definition: win32k.c:56
static IUnknown Object
Definition: main.c:512
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
Definition: iotypes.h:872
PKWIN32_SESSION_CALLOUT ExpDesktopObjectClose
Definition: win32k.c:50
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
_In_ PSECURITY_SUBJECT_CONTEXT _In_ BOOLEAN _In_ ACCESS_MASK _In_ ACCESS_MASK _Outptr_opt_ PPRIVILEGE_SET _In_ PGENERIC_MAPPING _In_ KPROCESSOR_MODE _Out_ PACCESS_MASK GrantedAccess
Definition: sefuncs.h:13

Referenced by ExpWin32kInit().

◆ ExpDesktopDelete()

VOID NTAPI ExpDesktopDelete ( PVOID  DeletedObject)

Definition at line 206 of file win32k.c.

207 {
209 
210  /* Fill out the callback structure */
211  Parameters.Object = DeletedObject;
212 
213  ExpWin32SessionCallout(DeletedObject,
215  &Parameters);
216 }
NTSTATUS NTAPI ExpWin32SessionCallout(_In_ PVOID Object, _In_ PKWIN32_SESSION_CALLOUT CalloutProcedure, _Inout_opt_ PVOID Parameter)
Definition: win32k.c:56
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
Definition: iotypes.h:872
PKWIN32_SESSION_CALLOUT ExpDesktopObjectDelete
Definition: win32k.c:48

Referenced by ExpWin32kInit().

◆ ExpDesktopOkToClose()

BOOLEAN NTAPI ExpDesktopOkToClose ( IN PEPROCESS Process  OPTIONAL,
IN PVOID  Object,
IN HANDLE  Handle,
IN KPROCESSOR_MODE  AccessMode 
)

Definition at line 117 of file win32k.c.

121 {
124 
125  Parameters.Process = Process;
126  Parameters.Object = Object;
127  Parameters.Handle = Handle;
128  Parameters.PreviousMode = AccessMode;
129 
132  &Parameters);
133 
134  return NT_SUCCESS(Status);
135 }
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS NTAPI ExpWin32SessionCallout(_In_ PVOID Object, _In_ PKWIN32_SESSION_CALLOUT CalloutProcedure, _Inout_opt_ PVOID Parameter)
Definition: win32k.c:56
_In_ PEPROCESS _In_ KPROCESSOR_MODE AccessMode
Definition: mmfuncs.h:396
_In_ HANDLE Handle
Definition: extypes.h:390
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
static IUnknown Object
Definition: main.c:512
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
Definition: iotypes.h:872
Status
Definition: gdiplustypes.h:24
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
PKWIN32_SESSION_CALLOUT ExpDesktopObjectOkToClose
Definition: win32k.c:47

Referenced by ExpWin32kInit().

◆ ExpDesktopOpen()

NTSTATUS NTAPI ExpDesktopOpen ( IN OB_OPEN_REASON  Reason,
IN PEPROCESS Process  OPTIONAL,
IN PVOID  ObjectBody,
IN ACCESS_MASK  GrantedAccess,
IN ULONG  HandleCount 
)

Definition at line 220 of file win32k.c.

225 {
227 
228  Parameters.OpenReason = Reason;
229  Parameters.Process = Process;
230  Parameters.Object = ObjectBody;
231  Parameters.GrantedAccess = GrantedAccess;
232  Parameters.HandleCount = HandleCount;
233 
234  return ExpWin32SessionCallout(ObjectBody,
236  &Parameters);
237 }
NTSTATUS NTAPI ExpWin32SessionCallout(_In_ PVOID Object, _In_ PKWIN32_SESSION_CALLOUT CalloutProcedure, _Inout_opt_ PVOID Parameter)
Definition: win32k.c:56
PKWIN32_SESSION_CALLOUT ExpDesktopObjectOpen
Definition: win32k.c:49
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
Definition: iotypes.h:872
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
_In_ PSECURITY_SUBJECT_CONTEXT _In_ BOOLEAN _In_ ACCESS_MASK _In_ ACCESS_MASK _Outptr_opt_ PPRIVILEGE_SET _In_ PGENERIC_MAPPING _In_ KPROCESSOR_MODE _Out_ PACCESS_MASK GrantedAccess
Definition: sefuncs.h:13
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
Definition: env.c:45

Referenced by ExpWin32kInit().

◆ ExpWin32kInit()

BOOLEAN INIT_FUNCTION NTAPI ExpWin32kInit ( VOID  )

Definition at line 263 of file win32k.c.

264 {
265  OBJECT_TYPE_INITIALIZER ObjectTypeInitializer;
268  DPRINT("Creating Win32 Object Types\n");
269 
270  /* Create the window station Object Type */
271  RtlZeroMemory(&ObjectTypeInitializer, sizeof(ObjectTypeInitializer));
272  RtlInitUnicodeString(&Name, L"WindowStation");
273  ObjectTypeInitializer.Length = sizeof(ObjectTypeInitializer);
274  ObjectTypeInitializer.GenericMapping = ExpWindowStationMapping;
275  ObjectTypeInitializer.PoolType = NonPagedPool;
276  ObjectTypeInitializer.DeleteProcedure = ExpWinStaObjectDelete;
277  ObjectTypeInitializer.ParseProcedure = ExpWinStaObjectParse;
278  ObjectTypeInitializer.OkayToCloseProcedure = ExpWindowStationOkToClose;
279  ObjectTypeInitializer.SecurityRequired = TRUE;
280  ObjectTypeInitializer.InvalidAttributes = OBJ_OPENLINK |
281  OBJ_PERMANENT |
283  ObjectTypeInitializer.ValidAccessMask = STANDARD_RIGHTS_REQUIRED;
285  &ObjectTypeInitializer,
286  NULL,
288  if (!NT_SUCCESS(Status)) return FALSE;
289 
290  /* Create desktop object type */
291  RtlInitUnicodeString(&Name, L"Desktop");
292  ObjectTypeInitializer.GenericMapping = ExpDesktopMapping;
293  ObjectTypeInitializer.DeleteProcedure = ExpDesktopDelete;
294  ObjectTypeInitializer.ParseProcedure = NULL;
295  ObjectTypeInitializer.OkayToCloseProcedure = ExpDesktopOkToClose;
296  ObjectTypeInitializer.OpenProcedure = ExpDesktopOpen;
297  ObjectTypeInitializer.CloseProcedure = ExpDesktopClose;
299  &ObjectTypeInitializer,
300  NULL,
302  if (!NT_SUCCESS(Status)) return FALSE;
303 
304  return TRUE;
305 }
NTSTATUS NTAPI ExpWinStaObjectParse(IN PVOID ParseObject, IN PVOID ObjectType, IN OUT PACCESS_STATE AccessState, IN KPROCESSOR_MODE AccessMode, IN ULONG Attributes, IN OUT PUNICODE_STRING CompleteName, IN OUT PUNICODE_STRING RemainingName, IN OUT PVOID Context OPTIONAL, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos OPTIONAL, OUT PVOID *Object)
Definition: win32k.c:175
NTSTATUS NTAPI ObCreateObjectType(IN PUNICODE_STRING TypeName, IN POBJECT_TYPE_INITIALIZER ObjectTypeInitializer, IN PVOID Reserved, OUT POBJECT_TYPE *ObjectType)
Definition: oblife.c:1048
#define TRUE
Definition: types.h:120
POBJECT_TYPE ExWindowStationObjectType
Definition: win32k.c:25
OB_OKAYTOCLOSE_METHOD OkayToCloseProcedure
Definition: obtypes.h:373
LONG NTSTATUS
Definition: precomp.h:26
#define OBJ_OPENLINK
Definition: winternl.h:230
POBJECT_TYPE ExDesktopObjectType
Definition: win32k.c:26
#define OBJ_PERMANENT
Definition: winternl.h:226
VOID NTAPI ExpDesktopClose(IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN ACCESS_MASK GrantedAccess, IN ULONG ProcessHandleCount, IN ULONG SystemHandleCount)
Definition: win32k.c:241
struct NameRec_ * Name
Definition: cdprocs.h:464
smooth NULL
Definition: ftsmooth.c:416
#define OBJ_EXCLUSIVE
Definition: winternl.h:227
void DPRINT(...)
Definition: polytest.cpp:61
OB_CLOSE_METHOD CloseProcedure
Definition: obtypes.h:368
GENERIC_MAPPING ExpWindowStationMapping
Definition: win32k.c:28
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
OB_PARSE_METHOD ParseProcedure
Definition: obtypes.h:370
BOOLEAN NTAPI ExpDesktopOkToClose(IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
Definition: win32k.c:117
VOID NTAPI ExpDesktopDelete(PVOID DeletedObject)
Definition: win32k.c:206
OB_OPEN_METHOD OpenProcedure
Definition: obtypes.h:367
static const WCHAR L[]
Definition: oid.c:1250
Status
Definition: gdiplustypes.h:24
GENERIC_MAPPING ExpDesktopMapping
Definition: win32k.c:36
VOID NTAPI ExpWinStaObjectDelete(PVOID DeletedObject)
Definition: win32k.c:161
BOOLEAN NTAPI ExpWindowStationOkToClose(IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
Definition: win32k.c:139
GENERIC_MAPPING GenericMapping
Definition: obtypes.h:358
NTSTATUS NTAPI ExpDesktopOpen(IN OB_OPEN_REASON Reason, IN PEPROCESS Process OPTIONAL, IN PVOID ObjectBody, IN ACCESS_MASK GrantedAccess, IN ULONG HandleCount)
Definition: win32k.c:220
#define STANDARD_RIGHTS_REQUIRED
Definition: nt_native.h:63
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261
OB_DELETE_METHOD DeleteProcedure
Definition: obtypes.h:369

Referenced by ExpInitSystemPhase1().

◆ ExpWin32SessionCallout()

NTSTATUS NTAPI ExpWin32SessionCallout ( _In_ PVOID  Object,
_In_ PKWIN32_SESSION_CALLOUT  CalloutProcedure,
_Inout_opt_ PVOID  Parameter 
)

Definition at line 56 of file win32k.c.

60 {
61  PWIN32_KERNEL_OBJECT_HEADER Win32ObjectHeader;
62  PVOID SessionEntry = NULL;
65 
66  /* The objects have a common header. And the kernel accesses it!
67  Thanks MS for this kind of retarded "design"! */
68  Win32ObjectHeader = Object;
69 
70  /* Check if we are not already in the correct session */
71  if (!PsGetCurrentProcess()->ProcessInSession ||
72  (PsGetCurrentProcessSessionId() != Win32ObjectHeader->SessionId))
73  {
74  /* Get the session from the objects session Id */
75  DPRINT("SessionId == %d\n", Win32ObjectHeader->SessionId);
76  SessionEntry = MmGetSessionById(Win32ObjectHeader->SessionId);
77  if (SessionEntry == NULL)
78  {
79  /* The requested session does not even exist! */
80  ASSERT(FALSE);
81  return STATUS_NOT_FOUND;
82  }
83 
84  /* Attach to the session */
85  Status = MmAttachSession(SessionEntry, &ApcState);
86  if (!NT_SUCCESS(Status))
87  {
88  DPRINT1("Could not attach to 0x%p, object %p, callout 0x%p\n",
89  SessionEntry,
90  Win32ObjectHeader,
91  CalloutProcedure);
92 
93  /* Cleanup and return */
94  MmQuitNextSession(SessionEntry);
95  ASSERT(FALSE);
96  return Status;
97  }
98  }
99 
100  /* Call the callout routine */
101  Status = CalloutProcedure(Parameter);
102 
103  /* Check if we have a session */
104  if (SessionEntry != NULL)
105  {
106  /* Detach from the session and quit using it */
107  MmDetachSession(SessionEntry, &ApcState);
108  MmQuitNextSession(SessionEntry);
109  }
110 
111  /* Return the callback status */
112  return Status;
113 }
KAPC_STATE
Definition: ketypes.h:1273
LONG NTSTATUS
Definition: precomp.h:26
PVOID NTAPI MmGetSessionById(_In_ ULONG SessionId)
Definition: session.c:1045
_In_ PVOID Parameter
Definition: ldrtypes.h:241
#define PsGetCurrentProcess
Definition: psfuncs.h:17
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
VOID NTAPI MmQuitNextSession(_Inout_ PVOID SessionEntry)
Definition: session.c:1025
#define STATUS_NOT_FOUND
Definition: shellext.h:72
ULONG NTAPI PsGetCurrentProcessSessionId(VOID)
Definition: process.c:1133
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
static IUnknown Object
Definition: main.c:512
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
Status
Definition: gdiplustypes.h:24
_Out_ PKAPC_STATE ApcState
Definition: mm.h:1492
#define DPRINT1
Definition: precomp.h:8

Referenced by ExpDesktopClose(), ExpDesktopDelete(), ExpDesktopOkToClose(), ExpDesktopOpen(), ExpWindowStationOkToClose(), ExpWinStaObjectDelete(), and ExpWinStaObjectParse().

◆ ExpWindowStationOkToClose()

BOOLEAN NTAPI ExpWindowStationOkToClose ( IN PEPROCESS Process  OPTIONAL,
IN PVOID  Object,
IN HANDLE  Handle,
IN KPROCESSOR_MODE  AccessMode 
)

Definition at line 139 of file win32k.c.

143 {
146 
147  Parameters.Process = Process;
148  Parameters.Object = Object;
149  Parameters.Handle = Handle;
150  Parameters.PreviousMode = AccessMode;
151 
154  &Parameters);
155 
156  return NT_SUCCESS(Status);
157 }
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS NTAPI ExpWin32SessionCallout(_In_ PVOID Object, _In_ PKWIN32_SESSION_CALLOUT CalloutProcedure, _Inout_opt_ PVOID Parameter)
Definition: win32k.c:56
PKWIN32_SESSION_CALLOUT ExpWindowStationObjectOkToClose
Definition: win32k.c:46
_In_ PEPROCESS _In_ KPROCESSOR_MODE AccessMode
Definition: mmfuncs.h:396
_In_ HANDLE Handle
Definition: extypes.h:390
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
static IUnknown Object
Definition: main.c:512
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
Definition: iotypes.h:872
Status
Definition: gdiplustypes.h:24
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219

Referenced by ExpWin32kInit().

◆ ExpWinStaObjectDelete()

VOID NTAPI ExpWinStaObjectDelete ( PVOID  DeletedObject)

Definition at line 161 of file win32k.c.

162 {
164 
165  /* Fill out the callback structure */
166  Parameters.Object = DeletedObject;
167 
168  ExpWin32SessionCallout(DeletedObject,
170  &Parameters);
171 }
NTSTATUS NTAPI ExpWin32SessionCallout(_In_ PVOID Object, _In_ PKWIN32_SESSION_CALLOUT CalloutProcedure, _Inout_opt_ PVOID Parameter)
Definition: win32k.c:56
PKWIN32_SESSION_CALLOUT ExpWindowStationObjectDelete
Definition: win32k.c:45
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
Definition: iotypes.h:872

Referenced by ExpWin32kInit().

◆ ExpWinStaObjectParse()

NTSTATUS NTAPI ExpWinStaObjectParse ( IN PVOID  ParseObject,
IN PVOID  ObjectType,
IN OUT PACCESS_STATE  AccessState,
IN KPROCESSOR_MODE  AccessMode,
IN ULONG  Attributes,
IN OUT PUNICODE_STRING  CompleteName,
IN OUT PUNICODE_STRING  RemainingName,
IN OUT PVOID Context  OPTIONAL,
IN PSECURITY_QUALITY_OF_SERVICE SecurityQos  OPTIONAL,
OUT PVOID Object 
)

Definition at line 175 of file win32k.c.

185 {
187 
188  /* Fill out the callback structure */
189  Parameters.ParseObject = ParseObject;
190  Parameters.ObjectType = ObjectType;
191  Parameters.AccessState = AccessState;
192  Parameters.AccessMode = AccessMode;
193  Parameters.Attributes = Attributes;
194  Parameters.CompleteName = CompleteName;
195  Parameters.RemainingName = RemainingName;
196  Parameters.Context = Context;
197  Parameters.SecurityQos = SecurityQos;
198  Parameters.Object = Object;
199 
200  return ExpWin32SessionCallout(ParseObject,
202  &Parameters);
203 }
ObjectType
Definition: metafile.c:80
NTSTATUS NTAPI ExpWin32SessionCallout(_In_ PVOID Object, _In_ PKWIN32_SESSION_CALLOUT CalloutProcedure, _Inout_opt_ PVOID Parameter)
Definition: win32k.c:56
_In_ PEPROCESS _In_ KPROCESSOR_MODE AccessMode
Definition: mmfuncs.h:396
static IUnknown Object
Definition: main.c:512
_In_opt_ PVOID _In_opt_ PUNICODE_STRING _In_ PSECURITY_DESCRIPTOR _In_ PACCESS_STATE AccessState
Definition: sefuncs.h:414
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
Definition: iotypes.h:872
_Must_inspect_result_ _In_ USHORT _In_ PHIDP_PREPARSED_DATA _Out_writes_to_ LengthAttributes PHIDP_EXTENDED_ATTRIBUTES Attributes
Definition: hidpi.h:348
PKWIN32_SESSION_CALLOUT ExpWindowStationObjectParse
Definition: win32k.c:44
struct tagContext Context
Definition: acpixf.h:1030
_Inout_ PFCB _Inout_ PUNICODE_STRING RemainingName
Definition: cdprocs.h:806

Referenced by ExpWin32kInit().

Variable Documentation

◆ ExDesktopObjectType

◆ ExpDesktopMapping

GENERIC_MAPPING ExpDesktopMapping
Initial value:
=
{
}
#define STANDARD_RIGHTS_WRITE
Definition: nt_native.h:66
#define STANDARD_RIGHTS_EXECUTE
Definition: nt_native.h:67
#define STANDARD_RIGHTS_READ
Definition: nt_native.h:65
#define STANDARD_RIGHTS_REQUIRED
Definition: nt_native.h:63

Definition at line 36 of file win32k.c.

Referenced by ExpWin32kInit().

◆ ExpDesktopObjectClose

PKWIN32_SESSION_CALLOUT ExpDesktopObjectClose = NULL

Definition at line 50 of file win32k.c.

Referenced by ExpDesktopClose(), and PsEstablishWin32Callouts().

◆ ExpDesktopObjectDelete

PKWIN32_SESSION_CALLOUT ExpDesktopObjectDelete = NULL

Definition at line 48 of file win32k.c.

Referenced by ExpDesktopDelete(), and PsEstablishWin32Callouts().

◆ ExpDesktopObjectOkToClose

PKWIN32_SESSION_CALLOUT ExpDesktopObjectOkToClose = NULL

Definition at line 47 of file win32k.c.

Referenced by ExpDesktopOkToClose(), and PsEstablishWin32Callouts().

◆ ExpDesktopObjectOpen

PKWIN32_SESSION_CALLOUT ExpDesktopObjectOpen = NULL

Definition at line 49 of file win32k.c.

Referenced by ExpDesktopOpen(), and PsEstablishWin32Callouts().

◆ ExpWindowStationMapping

GENERIC_MAPPING ExpWindowStationMapping
Initial value:
=
{
}
#define STANDARD_RIGHTS_WRITE
Definition: nt_native.h:66
#define STANDARD_RIGHTS_EXECUTE
Definition: nt_native.h:67
#define STANDARD_RIGHTS_READ
Definition: nt_native.h:65
#define STANDARD_RIGHTS_REQUIRED
Definition: nt_native.h:63

Definition at line 28 of file win32k.c.

Referenced by ExpWin32kInit().

◆ ExpWindowStationObjectDelete

PKWIN32_SESSION_CALLOUT ExpWindowStationObjectDelete = NULL

Definition at line 45 of file win32k.c.

Referenced by ExpWinStaObjectDelete(), and PsEstablishWin32Callouts().

◆ ExpWindowStationObjectOkToClose

PKWIN32_SESSION_CALLOUT ExpWindowStationObjectOkToClose = NULL

Definition at line 46 of file win32k.c.

Referenced by ExpWindowStationOkToClose(), and PsEstablishWin32Callouts().

◆ ExpWindowStationObjectParse

PKWIN32_SESSION_CALLOUT ExpWindowStationObjectParse = NULL

Definition at line 44 of file win32k.c.

Referenced by ExpWinStaObjectParse(), and PsEstablishWin32Callouts().

◆ ExWindowStationObjectType