[NTOS]
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 21 Sep 2013 20:46:42 +0000 (20:46 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 21 Sep 2013 20:46:42 +0000 (20:46 +0000)
- Implement PsGetCurrentThreadProcess, PsGetCurrentThreadProcessId and PsGetCurrentThreadTeb based on their non-current versions.
- Fix PsGetThreadSessionId to call MmGetSessionId.
- Fix the return value type of PsGetJobSessionId.
- Remove an unneeded cast.

svn path=/trunk/; revision=60296

reactos/ntoskrnl/ntoskrnl.spec
reactos/ntoskrnl/ps/job.c
reactos/ntoskrnl/ps/query.c
reactos/ntoskrnl/ps/thread.c

index 4deabb9..085a22a 100644 (file)
 @ stdcall PsGetCurrentThread() KeGetCurrentThread
 @ stdcall PsGetCurrentThreadId()
 @ stdcall PsGetCurrentThreadPreviousMode()
-;PsGetCurrentThreadProcess
-;PsGetCurrentThreadProcessId
+@ stdcall PsGetCurrentThreadProcess()
+@ stdcall PsGetCurrentThreadProcessId()
 @ stdcall PsGetCurrentThreadStackBase()
 @ stdcall PsGetCurrentThreadStackLimit()
-;PsGetCurrentThreadTeb
+@ stdcall PsGetCurrentThreadTeb()
 @ stdcall PsGetCurrentThreadWin32Thread()
 ;PsGetCurrentThreadWin32ThreadAndEnterCriticalRegion
 @ stdcall PsGetJobLock(ptr)
index dc279bc..3841364 100644 (file)
@@ -527,12 +527,12 @@ PsGetJobLock ( PEJOB Job )
 /*
  * @implemented
  */
-PVOID
+ULONG
 NTAPI
 PsGetJobSessionId ( PEJOB Job )
 {
     ASSERT(Job);
-    return (PVOID)Job->SessionId;
+    return Job->SessionId;
 }
 
 
index 87d2fda..3cbfa63 100644 (file)
@@ -419,7 +419,7 @@ NtQueryInformationProcess(IN HANDLE ProcessHandle,
             _SEH2_TRY
             {
                 /* Write back the Session ID */
-                SessionInfo->SessionId = PtrToUlong(PsGetProcessSessionId(Process));
+                SessionInfo->SessionId = PsGetProcessSessionId(Process);
             }
             _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
             {
index 92d27cd..07e8f99 100644 (file)
@@ -666,16 +666,6 @@ PsLookupThreadByThreadId(IN HANDLE ThreadId,
     return Status;
 }
 
-/*
- * @implemented
- */
-HANDLE
-NTAPI
-PsGetCurrentThreadId(VOID)
-{
-    return PsGetCurrentThread()->Cid.UniqueThread;
-}
-
 /*
  * @implemented
  */
@@ -706,6 +696,16 @@ PsGetThreadId(IN PETHREAD Thread)
     return Thread->Cid.UniqueThread;
 }
 
+/*
+ * @implemented
+ */
+HANDLE
+NTAPI
+PsGetCurrentThreadId(VOID)
+{
+    return PsGetCurrentThread()->Cid.UniqueThread;
+}
+
 /*
  * @implemented
  */
@@ -716,6 +716,16 @@ PsGetThreadProcess(IN PETHREAD Thread)
     return Thread->ThreadsProcess;
 }
 
+/*
+ * @implemented
+ */
+PEPROCESS
+NTAPI
+PsGetCurrentThreadProcess(VOID)
+{
+    return PsGetCurrentThread()->ThreadsProcess;
+}
+
 /*
  * @implemented
  */
@@ -731,9 +741,19 @@ PsGetThreadProcessId(IN PETHREAD Thread)
  */
 HANDLE
 NTAPI
+PsGetCurrentThreadProcessId(VOID)
+{
+    return PsGetCurrentThread()->Cid.UniqueProcess;
+}
+
+/*
+ * @implemented
+ */
+ULONG
+NTAPI
 PsGetThreadSessionId(IN PETHREAD Thread)
 {
-    return (HANDLE)Thread->ThreadsProcess->Session;
+    return MmGetSessionId(Thread->ThreadsProcess);
 }
 
 /*
@@ -746,6 +766,16 @@ PsGetThreadTeb(IN PETHREAD Thread)
     return Thread->Tcb.Teb;
 }
 
+/*
+ * @implemented
+ */
+PTEB
+NTAPI
+PsGetCurrentThreadTeb(VOID)
+{
+    return PsGetCurrentThread()->Tcb.Teb;
+}
+
 /*
  * @implemented
  */
@@ -756,6 +786,16 @@ PsGetThreadWin32Thread(IN PETHREAD Thread)
     return Thread->Tcb.Win32Thread;
 }
 
+/*
+ * @implemented
+ */
+PVOID
+NTAPI
+PsGetCurrentThreadWin32Thread(VOID)
+{
+    return PsGetCurrentThread()->Tcb.Win32Thread;
+}
+
 /*
  * @implemented
  */
@@ -827,16 +867,6 @@ PsSetThreadHardErrorsAreDisabled(IN PETHREAD Thread,
     Thread->HardErrorsAreDisabled = HardErrorsAreDisabled;
 }
 
-/*
- * @implemented
- */
-PVOID
-NTAPI
-PsGetCurrentThreadWin32Thread(VOID)
-{
-    return PsGetCurrentThread()->Tcb.Win32Thread;
-}
-
 /*
  * @implemented
  */