mirror of
https://github.com/reactos/reactos.git
synced 2025-05-19 00:54:18 +00:00
[WINLOGON]
- Read notification DLL parameters. - Use the Enabled value. svn path=/trunk/; revision=68862
This commit is contained in:
parent
a7236633f6
commit
1e34580fd6
1 changed files with 57 additions and 1 deletions
|
@ -37,6 +37,12 @@ typedef struct _NOTIFICATION_ITEM
|
|||
LIST_ENTRY ListEntry;
|
||||
|
||||
HINSTANCE hInstance;
|
||||
BOOL bEnabled;
|
||||
BOOL bAsynchronous;
|
||||
BOOL bSafe;
|
||||
BOOL bImpersonate;
|
||||
BOOL bSmartCardLogon;
|
||||
DWORD dwMaxWait;
|
||||
PWLX_NOTIFY_HANDLER Handler[LastHandler];
|
||||
} NOTIFICATION_ITEM, *PNOTIFICATION_ITEM;
|
||||
|
||||
|
@ -117,8 +123,58 @@ LoadNotificationDll(
|
|||
if (NotificationDll == NULL)
|
||||
return;
|
||||
|
||||
NotificationDll->bEnabled = TRUE;
|
||||
NotificationDll->dwMaxWait = 30; /* FIXME: ??? */
|
||||
NotificationDll->hInstance = hInstance;
|
||||
|
||||
dwSize = sizeof(BOOL);
|
||||
RegQueryValueExW(hDllKey,
|
||||
L"Asynchronous",
|
||||
NULL,
|
||||
&dwType,
|
||||
(PBYTE)&NotificationDll->bAsynchronous,
|
||||
&dwSize);
|
||||
|
||||
dwSize = sizeof(BOOL);
|
||||
RegQueryValueExW(hDllKey,
|
||||
L"Enabled",
|
||||
NULL,
|
||||
&dwType,
|
||||
(PBYTE)&NotificationDll->bEnabled,
|
||||
&dwSize);
|
||||
|
||||
dwSize = sizeof(BOOL);
|
||||
RegQueryValueExW(hDllKey,
|
||||
L"Impersonate",
|
||||
NULL,
|
||||
&dwType,
|
||||
(PBYTE)&NotificationDll->bImpersonate,
|
||||
&dwSize);
|
||||
|
||||
dwSize = sizeof(BOOL);
|
||||
RegQueryValueExW(hDllKey,
|
||||
L"Safe",
|
||||
NULL,
|
||||
&dwType,
|
||||
(PBYTE)&NotificationDll->bSafe,
|
||||
&dwSize);
|
||||
|
||||
dwSize = sizeof(BOOL);
|
||||
RegQueryValueExW(hDllKey,
|
||||
L"SmartCardLogonNotify",
|
||||
NULL,
|
||||
&dwType,
|
||||
(PBYTE)&NotificationDll->bSmartCardLogon,
|
||||
&dwSize);
|
||||
|
||||
dwSize = sizeof(DWORD);
|
||||
RegQueryValueExW(hDllKey,
|
||||
L"MaxWait",
|
||||
NULL,
|
||||
&dwType,
|
||||
(PBYTE)&NotificationDll->dwMaxWait,
|
||||
&dwSize);
|
||||
|
||||
for (i = LogonHandler; i < LastHandler; i++)
|
||||
{
|
||||
NotificationDll->Handler[i] = GetNotificationHandler(hDllKey, hInstance, FuncNames[i]);
|
||||
|
@ -243,7 +299,7 @@ TRACE("ListEntry %p\n", ListEntry);
|
|||
NOTIFICATION_ITEM,
|
||||
ListEntry);
|
||||
TRACE("NotificationDll: %p\n", NotificationDll);
|
||||
if (NotificationDll != NULL)
|
||||
if (NotificationDll != NULL && NotificationDll->bEnabled)
|
||||
{
|
||||
TRACE("NotificationDll->Handler: %p\n", NotificationDll->Handler[Type]);
|
||||
if (NotificationDll->Handler[Type] != NULL)
|
||||
|
|
Loading…
Reference in a new issue