Author: gadamopoulos
Date: Thu Feb 21 17:27:08 2013
New Revision: 58346

URL: http://svn.reactos.org/svn/reactos?rev=58346&view=rev
Log:
[win32k]
- Implement NtUserLockWorkStation

[winlogon]
- Handle LN_LOCK_WORKSTATION case of the WM_LOGONNOTIFY message

Modified:
    trunk/reactos/base/system/winlogon/sas.c
    trunk/reactos/win32ss/user/ntuser/ntstubs.c
    trunk/reactos/win32ss/user/ntuser/winsta.c

Modified: trunk/reactos/base/system/winlogon/sas.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/winlogon/sas.c?rev=58346&r1=58345&r2=58346&view=diff
==============================================================================
--- trunk/reactos/base/system/winlogon/sas.c [iso-8859-1] (original)
+++ trunk/reactos/base/system/winlogon/sas.c [iso-8859-1] Thu Feb 21 17:27:08 
2013
@@ -1174,6 +1174,11 @@
                     inScrn = FALSE;
                     break;
                 }
+                case LN_LOCK_WORKSTATION:
+                {
+                    DoGenericAction(Session, WLX_SAS_ACTION_LOCK_WKSTA);
+                    break;
+                }
                 default:
                 {
                     ERR("WM_LOGONNOTIFY case %d is unimplemented\n", wParam);

Modified: trunk/reactos/win32ss/user/ntuser/ntstubs.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/ntstubs.c?rev=58346&r1=58345&r2=58346&view=diff
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/ntstubs.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/ntstubs.c [iso-8859-1] Thu Feb 21 
17:27:08 2013
@@ -301,15 +301,6 @@
    DWORD Unknown9,
    DWORD Unknown10,
    DWORD Unknown11)
-{
-   STUB
-
-   return 0;
-}
-
-BOOL
-APIENTRY
-NtUserLockWorkStation(VOID)
 {
    STUB
 

Modified: trunk/reactos/win32ss/user/ntuser/winsta.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/winsta.c?rev=58346&r1=58345&r2=58346&view=diff
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/winsta.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/winsta.c [iso-8859-1] Thu Feb 21 17:27:08 
2013
@@ -1320,4 +1320,27 @@
     return TRUE;
 }
 
+BOOL
+APIENTRY
+NtUserLockWorkStation(VOID)
+{
+    BOOL ret;
+    PTHREADINFO pti = PsGetCurrentThreadWin32Thread();
+
+    UserEnterExclusive();
+
+    if (pti->rpdesk == IntGetActiveDesktop())
+    {
+        ret = UserPostMessage(hwndSAS, WM_LOGONNOTIFY, LN_LOCK_WORKSTATION, 0);
+    }
+    else
+    {
+        ret = FALSE;
+    }
+
+    UserLeave();
+
+   return ret;
+}
+
 /* EOF */


Reply via email to