Interactive logon

Вот, понадобился программый сабж.
Не получается. Взял пример из MSDN по адресу "Security\Security
(General)\SDK Documentation\Authorization\Using Authorization\Using
Client/Server Access Control\Starting an Interactive Client Process" плюс
пара функций из "Security\Security (General)\SDK
Documentation\Authorization\Using Authorization\Using Client/Server Access
Control\Getting the Logon SID". Компилится, запускается, не работает. Всё
проходит без ошибок, кроме заключительно CreateProcessAsUser(), который
завершается с GetLastError()==ERROR_PRIVILEGE_NOT_HELD. Как же это
понимать-то? Исходные самплы из MSDN не работают.
Причём с помощью CreateProcessWithLogonW() можно заставить нужное приложение
запуститься под другой учёткой, но в текущей интерактивной сессии, вместо
собственной вновь создаваемой.
К тому же дело не в создании сессии. Ибо LogonUser() отрабатывает без
проблем, да и результат не зависит от того, создана ли нужная интерактивная
сессия заранее или нет. Тот же стандартный шедулер-то запускает сессими.
Правда пакетные, а не интерактивные, но и с пакетными у меня такая же фигня.
Я сильно подозреваю, что моему процессу не хватает какого-то токена. Вот
только какого?
Правда, возможно это всё должно работать в качестве службы, а не обычного -
пусть и под админом - приложения. Но в самом MSDN-е об этом вроде не
упоминается. Да и пробовал я включать в локальных политиках во "Вход в
качестве службы" свою и целевую учётки. Или я ошибаюсь, что это уравняло бы
права моего процесса со службой? Может быть надо было "Работа в режиме
операционной системы"?
Происходит это всё под WinXP rus SP2. Моя и целевая учётки - локальные.
Доменов нет. В качестве имени домена указываю "." как и советует MSDN.
У кого какие мысли, а лучше опыт?
--
С уважением, boroda
mailto:boroden***@s*****.ru
Номер выпуска : 4429
Возраст листа : 592 (дней)
Количество подписчиков : 517
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/362121
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
Хаю ду ю ду Шматко А.А.?
Смотрю и вижу, как ты печатаешь умные вещи и дай-ка, думаю,
тоже что-нибудь напечатаю:
-
Почти ни чего не понял что ты хочешь сотворить, но из того что понял,
имхо, вытекает создание сервиса.
бы
Вряд-ли это поможет твоим программам стать сервисом - сервис это ведь,
имхо, не программа запущенная с правами сервиса, а именно сервис.
Кстати в каком месте ты настроил "Вход в качестве службы"? Если можно
поподробнее, а то я давно как-то находил это, но потом забыл где, а
иногда это очень знать, но не помню где включать.
Ты распиши поподробнее что именно ты хочешь сделать, а то лично я
ничерта не понял.