Проблема такая: надо по LUID найти имя удаленной машины, с которой пользователь вошел в систему (подключил сетевой диск). Вообще-то это надо сделать в Kernel-Mode, но буду очень благодарен, даже если кто-нибудь подскажет как это сделать в User mode Windows NT-подобной системы (NT, 2K, XP).
Заранее благодарю.
Сорри за неполную информацию: LUID — это в данном случае AuthenticationID, полученный при помощи QueryTokenInformation. Сам токен получен GetProcessToken или GetThreadToken (в этом случае получен Impersonation Token). Все это вобщем-то получается в драйвере, в режиме ядра. Но где получить имя удаленной машины, с которой в систему вошел пользователь с таким LUIDом, в общем-то не важно, можно и в User Mode.
С уважением — А. Тарво.
Здравствуйте, vasketsov, Вы писали:
V>Здравствуйте, AlexTarvo, Вы писали:
V>LsaEnumerateLogonSessions не подойдет?
V>Работает и на Windows 2000, а не то, что в msdn написано.
Работает именно так, как написано в MSDN Online. Имя клиентского компьютера возвращается только под WinXP. На 2К пробовал — указатель на Unicode строку указывает куда попало и прога вылаетает по Access Violation. Возможно, на некоторых 2К это работает и нормально, но на моей 2K SP2 такое сделать нельзя.