- Implement NtUserLockWorkStation

[winlogon]
- Handle LN_LOCK_WORKSTATION case of the WM_LOGONNOTIFY message

svn path=/trunk/; revision=58346
This commit is contained in:
Giannis Adamopoulos 2013-02-21 17:27:08 +00:00
parent 1877afb7da
commit 637726c75d
3 changed files with 28 additions and 9 deletions

View file

@ -1174,6 +1174,11 @@ SASWindowProc(
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);

View file

@ -307,15 +307,6 @@ NtUserInitTask(
return 0;
}
BOOL
APIENTRY
NtUserLockWorkStation(VOID)
{
STUB
return 0;
}
DWORD
APIENTRY
NtUserMNDragLeave(VOID)

View file

@ -1320,4 +1320,27 @@ NtUserSetLogonNotifyWindow(HWND hWnd)
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 */