Author: tkreuzer
Date: Wed Mar 28 18:46:30 2012
New Revision: 56263

URL: http://svn.reactos.org/svn/reactos?rev=56263&view=rev
Log:
[NDK/NTOSKRNK]
- Finally make EPROCESS::Session  PVOID, as it's supposed to be
- add missing Wow64Process member

Modified:
    trunk/reactos/include/ndk/pstypes.h
    trunk/reactos/ntoskrnl/ps/query.c

Modified: trunk/reactos/include/ndk/pstypes.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/pstypes.h?rev=56263&r1=56262&r2=56263&view=diff
==============================================================================
--- trunk/reactos/include/ndk/pstypes.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/pstypes.h [iso-8859-1] Wed Mar 28 18:46:30 2012
@@ -1112,13 +1112,17 @@
         HARDWARE_PTE PageDirectoryPte;
         ULONGLONG Filler;
     };
-    ULONG Session; // FIXME: PVOID
+    PVOID Session;
     CHAR ImageFileName[16];
     LIST_ENTRY JobLinks;
     PVOID LockedPagesList;
     LIST_ENTRY ThreadListHead;
     PVOID SecurityPort;
+#ifdef _M_AMD64
+    struct _WOW64_PROCESS *Wow64Process;
+#else
     PVOID PaeTop;
+#endif
     ULONG ActiveThreads;
 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
     ULONG ImagePathHash;

Modified: trunk/reactos/ntoskrnl/ps/query.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/query.c?rev=56263&r1=56262&r2=56263&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/ps/query.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ps/query.c [iso-8859-1] Wed Mar 28 18:46:30 2012
@@ -880,10 +880,10 @@
                 Status = STATUS_INFO_LENGTH_MISMATCH;
                 break;
             }
-            
+
             /* Indicate success */
             Status = STATUS_SUCCESS;
-            
+
             /* Protect write in SEH */
             _SEH2_TRY
             {
@@ -958,14 +958,14 @@
             {
                 /* Get the WOW64 process structure */
 #ifdef _WIN64
-                Wow64 = Process->Wow64Process;
+                Wow64 = (ULONG_PTR)Process->Wow64Process;
 #else
                 Wow64 = 0;
 #endif
                 /* Release the lock */
                 ExReleaseRundownProtection(&Process->RundownProtect);
             }
-            
+
             /* Protect write with SEH */
             _SEH2_TRY
             {
@@ -982,9 +982,9 @@
             /* Dereference the process */
             ObDereferenceObject(Process);
             break;
-            
+
         case ProcessExecuteFlags:
-        
+
             /* Set return length */
             Length = sizeof(ULONG);
             if (ProcessInformationLength != Length)
@@ -1322,7 +1322,7 @@
             if (!NT_SUCCESS(Status)) break;
 
             /* Write the session ID in the EPROCESS */
-            Process->Session = SessionInfo.SessionId;
+            Process->Session = UlongToPtr(SessionInfo.SessionId); // HACK!!!
 
             /* Check if the process also has a PEB */
             if (Process->Peb)
@@ -1811,11 +1811,11 @@
             KeSetAutoAlignmentProcess(&Process->Pcb, FALSE);
             Status = STATUS_SUCCESS;
             break;
-            
+
         case ProcessUserModeIOPL:
 
             /* Only TCB can do this */
-            if (!SeSinglePrivilegeCheck(SeTcbPrivilege, PreviousMode)) 
+            if (!SeSinglePrivilegeCheck(SeTcbPrivilege, PreviousMode))
             {
                 /* Fail */
                 DPRINT1("Need TCB to set IOPL\n");
@@ -1863,7 +1863,7 @@
             /* Call Mm for the update */
             Status = MmSetExecuteOptions(NoExecute);
             break;
-                
+
         /* We currently don't implement any of these */
         case ProcessLdtInformation:
         case ProcessLdtSize:
@@ -2319,7 +2319,7 @@
 
             /* All done */
             break;
-            
+
         case ThreadBreakOnTermination:
 
             /* Check buffer length */


Reply via email to