Здравствуйте, .Mistery, Вы писали:
M>Она не должна быть пустая, в ней как раз то и должен выводится диалог логина юзера. ТОлько нельзя забывать, что когда основной поток будет ползать по message loop диалога, вполне может возникнуть какой нибудь SAS и winlogon вызовет соответствующую ф-ю GINA в другом потоке. Это остается на контроле программиста, что делать в данном случае, я в таких случаях всегда возвращал WLX_SAS_ACTION_NONE, а весь контроль держал сам в диалоге.
У меня в WlxDisplaySASNotice выводилось предложение нажать Ctrl+Alt+del, а диалог логина — в WlxLoggedOutSAS. Это чем-то неправильно?
M>Если в WlxScreenSaverNotify вернуть FALSE то никаких засыпаний не будет.
Категорически утверждать не возьмусь, потому что не помню, но, кажется, он почему-то все равно засыпал...
V__>>и еще, кажется, какая-то функция, ответственная за вывод диалога с сообщением в этом случае.
M>WlxDisplayStatusMessage, возвращаем FALSE и winlogon знает что никаких messages небыло отображено.
V__>>Щас не помню деталей, некоторое время не работал над этим проектом. Так вот, во все пустые функции WlxЧё-ТоТам, которые должны/могут отображать диалог с сообщением, я запихнул по диалогу, и проблема пропала.
M>Они не должны быть пустые, т.е. хотябы TRUE или FALSE они должны возвращать. И запихивать туда диалоги вовсе не обязательно.
Посмотрел. Бесконечно вызывалась функция WlxDisplayLockedNotice. Возвращать тру-фолс она не могёт, ибо воид.
V__>>Пока диалог (модальный!) существует, Wlx-функция работает. Пришел евент — умирает вместе с диалогом. Но если она (или диалог) закончили работу по каким-то другим причинам (напр. нажали ОК на диалоге, или вовсе его не создавали) — функция сразу же снова вызывается. Infinite loop. Отображением диалога я ее как бы "стопорил", чтобы вызывалась единожды.
M>Именно так оно и работает, это нужно самому контролировать.
А как?
M>Как я уже сказал можно просто возвращать везде FALSE и говорить о том что никаких display messages мы не отображаем и тогда вышеописанная проблема отпадает сама собой.
Так не всякая функция что-то возвращает...