Re: LockWorkStation для NT

From
Alex Fedotov ()
To
Timur Shemsedinov
Date
2002-03-21T13:47:31Z
Area
SU.WINDOWS.NT.PROG
From: "Alex Fedotov" <me@alexfedotov.com>

Timur Shemsedinov wrote:

>  TS>> А кто чего скажет по поводу NtLockWindowStation? Где бы взять
>  TS>> заголовки к ней

>  DL> А в какой DLL она живёт? И что делает? Неужто аналог LockWorkStation
>  DL> из W2K?

> Да надо как-то поискать в system32, это не пpоблема, а с именем я немного
> пеpевpал, вот пpавильное "NtUserLockWindowStation", но эта гадость точно с
> паpаметpами и пеpвый точно DWORD.

Функции с префиксом NtUser, равно как и NtGdi, не экспортируются ни откуда.
Это внутренние функции как в user mode (в user32.dll и gdi32.dll), так и в
kernel-mode (в win32k.sys), так что добраться до них будет непросто.
user32.dll экспортирует именно эту функцию под именем LockWindowStation, так
что можешь считать, что тебе повезло. Функция (как и UnlockWindowStation)
принимает один параметр - handle of window station.

Но все равно, эта функция не блокирует рабочую станцию, так как это делает
LockWorkStation. В частности, она не переключает десктоп и не заставляет
winlogon (GINA) показать сообщение "Press Ctrl+Alt+Del to unlock".
Заблокированной рабочей станции соответствует вполне определенное внутреннее
состояние Winlogon и изменить его извне в NT4, кроме как написав свою GINA
DLL, нельзя.

-- Alex Fedotov


--- ifmail v.2.15dev5
 * Origin: Demos online service (2:5020/400)