mirror of
https://github.com/reactos/reactos.git
synced 2025-05-19 09:10:56 +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;
|
LIST_ENTRY ListEntry;
|
||||||
|
|
||||||
HINSTANCE hInstance;
|
HINSTANCE hInstance;
|
||||||
|
BOOL bEnabled;
|
||||||
|
BOOL bAsynchronous;
|
||||||
|
BOOL bSafe;
|
||||||
|
BOOL bImpersonate;
|
||||||
|
BOOL bSmartCardLogon;
|
||||||
|
DWORD dwMaxWait;
|
||||||
PWLX_NOTIFY_HANDLER Handler[LastHandler];
|
PWLX_NOTIFY_HANDLER Handler[LastHandler];
|
||||||
} NOTIFICATION_ITEM, *PNOTIFICATION_ITEM;
|
} NOTIFICATION_ITEM, *PNOTIFICATION_ITEM;
|
||||||
|
|
||||||
|
@ -117,8 +123,58 @@ LoadNotificationDll(
|
||||||
if (NotificationDll == NULL)
|
if (NotificationDll == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
NotificationDll->bEnabled = TRUE;
|
||||||
|
NotificationDll->dwMaxWait = 30; /* FIXME: ??? */
|
||||||
NotificationDll->hInstance = hInstance;
|
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++)
|
for (i = LogonHandler; i < LastHandler; i++)
|
||||||
{
|
{
|
||||||
NotificationDll->Handler[i] = GetNotificationHandler(hDllKey, hInstance, FuncNames[i]);
|
NotificationDll->Handler[i] = GetNotificationHandler(hDllKey, hInstance, FuncNames[i]);
|
||||||
|
@ -243,7 +299,7 @@ TRACE("ListEntry %p\n", ListEntry);
|
||||||
NOTIFICATION_ITEM,
|
NOTIFICATION_ITEM,
|
||||||
ListEntry);
|
ListEntry);
|
||||||
TRACE("NotificationDll: %p\n", NotificationDll);
|
TRACE("NotificationDll: %p\n", NotificationDll);
|
||||||
if (NotificationDll != NULL)
|
if (NotificationDll != NULL && NotificationDll->bEnabled)
|
||||||
{
|
{
|
||||||
TRACE("NotificationDll->Handler: %p\n", NotificationDll->Handler[Type]);
|
TRACE("NotificationDll->Handler: %p\n", NotificationDll->Handler[Type]);
|
||||||
if (NotificationDll->Handler[Type] != NULL)
|
if (NotificationDll->Handler[Type] != NULL)
|
||||||
|
|
Loading…
Reference in a new issue