HWND
-GetTopDialogWindow(VOID)
+CloseAllDialogWindows(VOID)
{
PDIALOG_LIST_ENTRY Current;
PLIST_ENTRY ListEntry;
ListEntry = DialogListHead.Flink;
- if (ListEntry != &DialogListHead)
+ while (ListEntry != &DialogListHead)
{
Current = CONTAINING_RECORD(ListEntry,
DIALOG_LIST_ENTRY,
Entry);
- TRACE("Found entry: %p window %p\n", Current, Current->hWnd);
- return Current->hWnd;
- }
+ PostMessage(Current->hWnd, WLX_WM_SAS, 0, 0);
- TRACE("Found no window\n");
- return NULL;
+ ListEntry = ListEntry->Flink;
+ }
}
}
else
{
- TRACE("About to negociate with Gina %S. Winlogon uses version %x\n",
+ TRACE("About to negotiate with Gina %S. Winlogon uses version %x\n",
GinaDll, WLX_CURRENT_VERSION);
if (!Functions->WlxNegotiate(WLX_CURRENT_VERSION, DllVersion))
goto cleanup;
Session->InteractiveWindowStation = CreateWindowStationW(
Session->InteractiveWindowStationName,
0,
- GENERIC_ALL,
+ MAXIMUM_ALLOWED,
&DefaultSecurity);
if (!Session->InteractiveWindowStation)
{
NULL,
NULL,
0, /* FIXME: Add DF_ALLOWOTHERACCOUNTHOOK flag? */
- GENERIC_ALL,
+ MAXIMUM_ALLOWED,
&UserDesktopSecurity);
if (!Session->ApplicationDesktop)
{
NULL,
NULL,
0,
- GENERIC_ALL,
+ MAXIMUM_ALLOWED,
&DefaultSecurity);
if (!Session->WinlogonDesktop)
{
NULL,
NULL,
0,
- GENERIC_ALL,
+ MAXIMUM_ALLOWED,
&DefaultSecurity);
if(!Session->ScreenSaverDesktop)
{